Adding core j2ee tests
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/.classpath b/tests/org.eclipse.jst.j2ee.core.tests/.classpath
new file mode 100644
index 0000000..dc015b1
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="commonArchiveTests"/>
+	<classpathentry kind="src" path="javaTests"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/.cvsignore b/tests/org.eclipse.jst.j2ee.core.tests/.cvsignore
new file mode 100644
index 0000000..09178ee
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/.cvsignore
@@ -0,0 +1,2 @@
+bin
+testOutput
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/.project b/tests/org.eclipse.jst.j2ee.core.tests/.project
new file mode 100644
index 0000000..66c130a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.jst.j2ee.core.tests</name>
+	<comment></comment>
+	<projects>
+		<project>com.ibm.etools.common.command</project>
+		<project>com.ibm.etools.emf</project>
+		<project>com.ibm.etools.emf.ecore.utilities</project>
+		<project>com.ibm.etools.emf.edit</project>
+		<project>com.ibm.etools.emf.workbench</project>
+		<project>com.ibm.etools.j2ee.core</project>
+		<project>com.ibm.etools.logging.util</project>
+		<project>com.ibm.etools.server.core</project>
+		<project>com.ibm.etools.server.java</project>
+		<project>com.ibm.etools.validation</project>
+		<project>com.ibm.wtp.common</project>
+		<project>com.ibm.wtp.emf</project>
+		<project>org.eclipse.core.resources</project>
+		<project>org.eclipse.debug.core</project>
+		<project>org.eclipse.jdt.core</project>
+		<project>org.eclipse.jem</project>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.team.cvs.core.cvsnature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/build.properties b/tests/org.eclipse.jst.j2ee.core.tests/build.properties
new file mode 100644
index 0000000..76fc186
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/build.properties
@@ -0,0 +1,10 @@
+bin.includes = tests.jar,\
+               plugin.xml,\
+               my/,\
+               my.bar,\
+               test.xml,\
+               commonArchiveResources/
+output.tests.jar = bin/
+jars.compile.order = tests.jar
+source.tests.jar = commonArchiveTests/,\
+                   javaTests/
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/build/buildcontrol.properties b/tests/org.eclipse.jst.j2ee.core.tests/build/buildcontrol.properties
new file mode 100644
index 0000000..082a993
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/build/buildcontrol.properties
@@ -0,0 +1,6 @@
+CONTACT=danberg@us.ibm.com
+ComponentShortName=com.ibm.etools.j2ee.core.test
+ComponentFullName=com.ibm.etools.j2ee.core.test
+ComponentCompetency=TESTS
+JavaCompile.1=srcjar
+BuildVerification.1=dir
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/build/package.xml b/tests/org.eclipse.jst.j2ee.core.tests/build/package.xml
new file mode 100644
index 0000000..191f326
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/build/package.xml
@@ -0,0 +1,20 @@
+<project name="com.ibm.etools.j2ee.core.test" default="packagingPlugin" basedir="./..">
+    <target name="init">
+        <property name="packageDir" value=""/>
+        <property name="plugin.directory"  value="${basedir}"/>
+        <property name="plugin.id" value="com.ibm.etools.j2ee.core.test"/>
+        <property name="plugin.version"  value=""/>
+    </target>
+    <target name="packagingPlugin" depends="init">
+        <echo message="${plugin.id}"/>
+        <copy todir="${packageDir}/plugins/${plugin.id}_${plugin.version}">
+            <fileset dir="${plugin.directory}">
+                <include name="plugin.xml"/>
+                <include name="test.xml"/>
+                <include name="runtime/commonArchiveTests.jar"/>
+                <include name="runtime/modelTests.jar"/>
+                <include name="runtime/javaTests.jar"/>
+            </fileset>
+        </copy>
+    </target>
+</project>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/build/wsBuild.xml b/tests/org.eclipse.jst.j2ee.core.tests/build/wsBuild.xml
new file mode 100644
index 0000000..bb53885
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/build/wsBuild.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!DOCTYPE project [
+	<!ENTITY baseBuild SYSTEM "file:../../wsBuildDef.xml">
+]>
+
+<project name="buildPlugin" default="build" basedir="./..">
+
+<!-- include the common xml build file -->
+&baseBuild;
+
+<target name="build" depends="prepare" if="plugin.id">
+
+    <antcall target="unzipsrcjar"> <param name="jarname" value="commonArchiveTests"/> </antcall>
+    <antcall target="unzipsrcjar"> <param name="jarname" value="modelTests"/> </antcall>
+    <antcall target="unzipsrcjar"> <param name="jarname" value="javaTests"/> </antcall>
+
+    <mkdir dir= "${plugin.build.directory}/commonbld"/>
+    <javac failonerror="false" destdir="${plugin.build.directory}/commonbld" includeAntRuntime="false">
+        <src path="${plugin.src.directory}/commonArchiveTests"/>
+        <src path="${plugin.src.directory}/modelTests"/>
+        <src path="${plugin.src.directory}/javaTests"/>
+        <bootclasspath path="${bootclasspath}"/>
+        <classpath path="${plugin.classpath}"/>
+    </javac>
+
+	<antcall target="buildjar">
+		<param name="jarname" value="commonArchiveTests"/>
+		<param name="jarclasspath" value="${plugin.classpath};${plugin.build.directory}/commonbld"/>
+	</antcall>
+	<antcall target="buildjar">
+		<param name="jarname" value="modelTests"/>
+		<param name="jarclasspath" value="${plugin.classpath};${plugin.build.directory}/commonbld"/>
+	</antcall>
+	<antcall target="buildjar">
+		<param name="jarname" value="javaTests"/>
+		<param name="jarclasspath" value="${plugin.classpath};${plugin.build.directory}/commonbld"/>
+	</antcall>
+
+</target>
+</project>
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/.cvsignore b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/.cvsignore
new file mode 100644
index 0000000..09178ee
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/.cvsignore
@@ -0,0 +1,2 @@
+bin
+testOutput
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/application-client.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/application-client.xml
new file mode 100644
index 0000000..8796e23
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/application-client.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE application-client PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN" "http://java.sun.com/dtd/application-client_1_3.dtd">
+
+   <application-client id="Application-client_ID">
+      <icon>
+         <small-icon>smallIcon_0</small-icon>
+         <large-icon>largeIcon_0</large-icon>
+      </icon>
+      <display-name>displayName_0</display-name>
+      <description>description_0</description>
+      <env-entry>
+         <description>description_0</description>
+         <env-entry-name>name_0</env-entry-name>
+         <env-entry-type>java.lang.String</env-entry-type>
+         <env-entry-value>value_0</env-entry-value>
+      </env-entry>
+      <env-entry>
+         <description>description_1</description>
+         <env-entry-name>name_1</env-entry-name>
+         <env-entry-type>java.lang.Integer</env-entry-type>
+         <env-entry-value>value_1</env-entry-value>
+      </env-entry>
+      <env-entry>
+         <description>description_2</description>
+         <env-entry-name>name_2</env-entry-name>
+         <env-entry-type>java.lang.Boolean</env-entry-type>
+         <env-entry-value>value_2</env-entry-value>
+      </env-entry>
+      <env-entry>
+         <description>description_3</description>
+         <env-entry-name>name_3</env-entry-name>
+         <env-entry-type>java.lang.Double</env-entry-type>
+         <env-entry-value>value_3</env-entry-value>
+      </env-entry>
+      <env-entry>
+         <description>description_4</description>
+         <env-entry-name>name_4</env-entry-name>
+         <env-entry-type>java.lang.Byte</env-entry-type>
+         <env-entry-value>value_4</env-entry-value>
+      </env-entry>
+      <ejb-ref>
+         <description>description_0</description>
+         <ejb-ref-name>name_0</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <home>home_0</home>
+         <remote>remote_0</remote>
+         <ejb-link>link_0</ejb-link>
+      </ejb-ref>
+      <ejb-ref>
+         <description>description_1</description>
+         <ejb-ref-name>name_1</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <home>home_1</home>
+         <remote>remote_1</remote>
+         <ejb-link>link_1</ejb-link>
+      </ejb-ref>
+      <ejb-ref>
+         <description>description_2</description>
+         <ejb-ref-name>name_2</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <home>home_2</home>
+         <remote>remote_2</remote>
+         <ejb-link>link_2</ejb-link>
+      </ejb-ref>
+      <ejb-ref>
+         <description>description_3</description>
+         <ejb-ref-name>name_3</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <home>home_3</home>
+         <remote>remote_3</remote>
+         <ejb-link>link_3</ejb-link>
+      </ejb-ref>
+      <ejb-ref>
+         <description>description_4</description>
+         <ejb-ref-name>name_4</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <home>home_4</home>
+         <remote>remote_4</remote>
+         <ejb-link>link_4</ejb-link>
+      </ejb-ref>
+      <resource-ref>
+         <description>description_0</description>
+         <res-ref-name>name_0</res-ref-name>
+         <res-type>type_0</res-type>
+         <res-auth>Container</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref>
+         <description>description_1</description>
+         <res-ref-name>name_1</res-ref-name>
+         <res-type>type_1</res-type>
+         <res-auth>Application</res-auth>
+         <res-sharing-scope>Unshareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref>
+         <description>description_2</description>
+         <res-ref-name>name_2</res-ref-name>
+         <res-type>type_2</res-type>
+         <res-auth>Container</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref>
+         <description>description_3</description>
+         <res-ref-name>name_3</res-ref-name>
+         <res-type>type_3</res-type>
+         <res-auth>Application</res-auth>
+         <res-sharing-scope>Unshareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref>
+         <description>description_4</description>
+         <res-ref-name>name_4</res-ref-name>
+         <res-type>type_4</res-type>
+         <res-auth>Container</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <resource-env-ref>
+         <description>description_0</description>
+         <resource-env-ref-name>name_0</resource-env-ref-name>
+         <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref>
+         <description>description_1</description>
+         <resource-env-ref-name>name_1</resource-env-ref-name>
+         <resource-env-ref-type>java.util.List</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref>
+         <description>description_2</description>
+         <resource-env-ref-name>name_2</resource-env-ref-name>
+         <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref>
+         <description>description_3</description>
+         <resource-env-ref-name>name_3</resource-env-ref-name>
+         <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref>
+         <description>description_4</description>
+         <resource-env-ref-name>name_4</resource-env-ref-name>
+         <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+      </resource-env-ref>
+      <callback-handler>java.util.HashTable</callback-handler>
+   </application-client>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/application.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/application.xml
new file mode 100644
index 0000000..dbe7745
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/application.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
+
+   <application id="Application_ID">
+      <icon>
+         <small-icon>smallIcon_0</small-icon>
+         <large-icon>largeIcon_0</large-icon>
+      </icon>
+      <display-name>displayName_0</display-name>
+      <description>description_0</description>
+      <module>
+         <java>uri_0</java>
+         <alt-dd>altDD_0</alt-dd>
+      </module>
+      <module>
+         <ejb>uri_0</ejb>
+         <alt-dd>altDD_0</alt-dd>
+      </module>
+      <module>
+         <web>
+            <web-uri>uri_0</web-uri>
+            <context-root>contextRoot_0</context-root>
+         </web>
+         <alt-dd>altDD_0</alt-dd>
+      </module>
+      <module>
+         <connector>uri_0</connector>
+         <alt-dd>altDD_0</alt-dd>
+      </module>
+      <module>
+         <java>uri_1</java>
+         <alt-dd>altDD_1</alt-dd>
+      </module>
+      <security-role>
+         <description>description_0</description>
+         <role-name>roleName_0</role-name>
+      </security-role>
+      <security-role>
+         <description>description_1</description>
+         <role-name>roleName_1</role-name>
+      </security-role>
+      <security-role>
+         <description>description_2</description>
+         <role-name>roleName_2</role-name>
+      </security-role>
+      <security-role>
+         <description>description_3</description>
+         <role-name>roleName_3</role-name>
+      </security-role>
+      <security-role>
+         <description>description_4</description>
+         <role-name>roleName_4</role-name>
+      </security-role>
+   </application>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/ejb-jar.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/ejb-jar.xml
new file mode 100644
index 0000000..739d68d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/ejb-jar.xml
@@ -0,0 +1,2869 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
+
+   <ejb-jar id="ejb-jar_ID">
+      <description>description_0</description>
+      <display-name>displayName_0</display-name>
+      <small-icon>smallIcon_0</small-icon>
+      <large-icon>largeIcon_0</large-icon>
+      <enterprise-beans>
+         <entity>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <home>java.util.HashTable</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.HashTable</local-home>
+            <local>java.util.HashTable</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+               <description>description_0</description>
+               <env-entry-name>name_0</env-entry-name>
+               <env-entry-type>java.lang.String</env-entry-type>
+               <env-entry-value>value_0</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_1</description>
+               <env-entry-name>name_1</env-entry-name>
+               <env-entry-type>java.lang.Integer</env-entry-type>
+               <env-entry-value>value_1</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_2</description>
+               <env-entry-name>name_2</env-entry-name>
+               <env-entry-type>java.lang.Boolean</env-entry-type>
+               <env-entry-value>value_2</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_3</description>
+               <env-entry-name>name_3</env-entry-name>
+               <env-entry-type>java.lang.Double</env-entry-type>
+               <env-entry-value>value_3</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_4</description>
+               <env-entry-name>name_4</env-entry-name>
+               <env-entry-type>java.lang.Byte</env-entry-type>
+               <env-entry-value>value_4</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+               <description>description_0</description>
+               <ejb-ref-name>name_0</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_0</home>
+               <remote>remote_0</remote>
+               <ejb-link>link_0</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_1</description>
+               <ejb-ref-name>name_1</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_1</home>
+               <remote>remote_1</remote>
+               <ejb-link>link_1</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_2</description>
+               <ejb-ref-name>name_2</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_2</home>
+               <remote>remote_2</remote>
+               <ejb-link>link_2</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_3</description>
+               <ejb-ref-name>name_3</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_3</home>
+               <remote>remote_3</remote>
+               <ejb-link>link_3</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_4</description>
+               <ejb-ref-name>name_4</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_4</home>
+               <remote>remote_4</remote>
+               <ejb-link>link_4</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+               <description>description_0</description>
+               <ejb-ref-name>name_0</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_0</local-home>
+               <local>remote_0</local>
+               <ejb-link>link_0</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_1</description>
+               <ejb-ref-name>name_1</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_1</local-home>
+               <local>remote_1</local>
+               <ejb-link>link_1</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_2</description>
+               <ejb-ref-name>name_2</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_2</local-home>
+               <local>remote_2</local>
+               <ejb-link>link_2</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_3</description>
+               <ejb-ref-name>name_3</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_3</local-home>
+               <local>remote_3</local>
+               <ejb-link>link_3</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_4</description>
+               <ejb-ref-name>name_4</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_4</local-home>
+               <local>remote_4</local>
+               <ejb-link>link_4</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+               <description>description_0</description>
+               <role-name>name_0</role-name>
+               <role-link>link_0</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_1</description>
+               <role-name>name_1</role-name>
+               <role-link>link_1</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_2</description>
+               <role-name>name_2</role-name>
+               <role-link>link_2</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_3</description>
+               <role-name>name_3</role-name>
+               <role-link>link_3</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_4</description>
+               <role-name>name_4</role-name>
+               <role-link>link_4</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_0</description>
+               <run-as>
+                  <description>description_0</description>
+                  <role-name>roleName_0</role-name>
+               </run-as>
+            </security-identity>
+            <resource-ref>
+               <description>description_0</description>
+               <res-ref-name>name_0</res-ref-name>
+               <res-type>type_0</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_1</description>
+               <res-ref-name>name_1</res-ref-name>
+               <res-type>type_1</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_2</description>
+               <res-ref-name>name_2</res-ref-name>
+               <res-type>type_2</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_3</description>
+               <res-ref-name>name_3</res-ref-name>
+               <res-type>type_3</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_4</description>
+               <res-ref-name>name_4</res-ref-name>
+               <res-type>type_4</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+               <description>description_0</description>
+               <resource-env-ref-name>name_0</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_1</description>
+               <resource-env-ref-name>name_1</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_2</description>
+               <resource-env-ref-name>name_2</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_3</description>
+               <resource-env-ref-name>name_3</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_4</description>
+               <resource-env-ref-name>name_4</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+         </entity>
+         <entity>
+            <description>description_1</description>
+            <display-name>displayName_1</display-name>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+            <ejb-name>name_1</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.util.List</remote>
+            <local-home>java.util.List</local-home>
+            <local>java.util.List</local>
+            <ejb-class>java.util.List</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.List</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+               <description>description_5</description>
+               <env-entry-name>name_5</env-entry-name>
+               <env-entry-type>java.lang.Short</env-entry-type>
+               <env-entry-value>value_5</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_6</description>
+               <env-entry-name>name_6</env-entry-name>
+               <env-entry-type>java.lang.Long</env-entry-type>
+               <env-entry-value>value_6</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_7</description>
+               <env-entry-name>name_7</env-entry-name>
+               <env-entry-type>java.lang.Float</env-entry-type>
+               <env-entry-value>value_7</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_8</description>
+               <env-entry-name>name_8</env-entry-name>
+               <env-entry-type>java.lang.Character</env-entry-type>
+               <env-entry-value>value_8</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_9</description>
+               <env-entry-name>name_9</env-entry-name>
+               <env-entry-type>java.lang.String</env-entry-type>
+               <env-entry-value>value_9</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+               <description>description_5</description>
+               <ejb-ref-name>name_5</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_5</home>
+               <remote>remote_5</remote>
+               <ejb-link>link_5</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_6</description>
+               <ejb-ref-name>name_6</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_6</home>
+               <remote>remote_6</remote>
+               <ejb-link>link_6</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_7</description>
+               <ejb-ref-name>name_7</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_7</home>
+               <remote>remote_7</remote>
+               <ejb-link>link_7</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_8</description>
+               <ejb-ref-name>name_8</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_8</home>
+               <remote>remote_8</remote>
+               <ejb-link>link_8</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_9</description>
+               <ejb-ref-name>name_9</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_9</home>
+               <remote>remote_9</remote>
+               <ejb-link>link_9</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+               <description>description_5</description>
+               <ejb-ref-name>name_5</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_5</local-home>
+               <local>remote_5</local>
+               <ejb-link>link_5</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_6</description>
+               <ejb-ref-name>name_6</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_6</local-home>
+               <local>remote_6</local>
+               <ejb-link>link_6</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_7</description>
+               <ejb-ref-name>name_7</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_7</local-home>
+               <local>remote_7</local>
+               <ejb-link>link_7</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_8</description>
+               <ejb-ref-name>name_8</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_8</local-home>
+               <local>remote_8</local>
+               <ejb-link>link_8</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_9</description>
+               <ejb-ref-name>name_9</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_9</local-home>
+               <local>remote_9</local>
+               <ejb-link>link_9</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+               <description>description_5</description>
+               <role-name>name_5</role-name>
+               <role-link>link_5</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_6</description>
+               <role-name>name_6</role-name>
+               <role-link>link_6</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_7</description>
+               <role-name>name_7</role-name>
+               <role-link>link_7</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_8</description>
+               <role-name>name_8</role-name>
+               <role-link>link_8</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_9</description>
+               <role-name>name_9</role-name>
+               <role-link>link_9</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_0</description>
+               <use-caller-identity></use-caller-identity>
+            </security-identity>
+            <resource-ref>
+               <description>description_5</description>
+               <res-ref-name>name_5</res-ref-name>
+               <res-type>type_5</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_6</description>
+               <res-ref-name>name_6</res-ref-name>
+               <res-type>type_6</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_7</description>
+               <res-ref-name>name_7</res-ref-name>
+               <res-type>type_7</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_8</description>
+               <res-ref-name>name_8</res-ref-name>
+               <res-type>type_8</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_9</description>
+               <res-ref-name>name_9</res-ref-name>
+               <res-type>type_9</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+               <description>description_5</description>
+               <resource-env-ref-name>name_5</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_6</description>
+               <resource-env-ref-name>name_6</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_7</description>
+               <resource-env-ref-name>name_7</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_8</description>
+               <resource-env-ref-name>name_8</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_9</description>
+               <resource-env-ref-name>name_9</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+         </entity>
+         <entity>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_2</ejb-name>
+            <home>java.util.HashTable</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.HashTable</local-home>
+            <local>java.util.HashTable</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>True</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>abstractSchemaName_0</abstract-schema-name>
+            <cmp-field>
+               <field-name>name_0</field-name>
+            </cmp-field>
+            <cmp-field>
+               <field-name>name_1</field-name>
+            </cmp-field>
+            <cmp-field>
+               <field-name>name_2</field-name>
+            </cmp-field>
+            <cmp-field>
+               <field-name>name_3</field-name>
+            </cmp-field>
+            <cmp-field>
+               <field-name>name_4</field-name>
+            </cmp-field>
+            <primkey-field>name_0</primkey-field>
+            <env-entry>
+               <description>description_10</description>
+               <env-entry-name>name_10</env-entry-name>
+               <env-entry-type>java.lang.Integer</env-entry-type>
+               <env-entry-value>value_10</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_11</description>
+               <env-entry-name>name_11</env-entry-name>
+               <env-entry-type>java.lang.Boolean</env-entry-type>
+               <env-entry-value>value_11</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_12</description>
+               <env-entry-name>name_12</env-entry-name>
+               <env-entry-type>java.lang.Double</env-entry-type>
+               <env-entry-value>value_12</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_13</description>
+               <env-entry-name>name_13</env-entry-name>
+               <env-entry-type>java.lang.Byte</env-entry-type>
+               <env-entry-value>value_13</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_14</description>
+               <env-entry-name>name_14</env-entry-name>
+               <env-entry-type>java.lang.Short</env-entry-type>
+               <env-entry-value>value_14</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+               <description>description_10</description>
+               <ejb-ref-name>name_10</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_10</home>
+               <remote>remote_10</remote>
+               <ejb-link>link_10</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_11</description>
+               <ejb-ref-name>name_11</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_11</home>
+               <remote>remote_11</remote>
+               <ejb-link>link_11</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_12</description>
+               <ejb-ref-name>name_12</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_12</home>
+               <remote>remote_12</remote>
+               <ejb-link>link_12</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_13</description>
+               <ejb-ref-name>name_13</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_13</home>
+               <remote>remote_13</remote>
+               <ejb-link>link_13</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_14</description>
+               <ejb-ref-name>name_14</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_14</home>
+               <remote>remote_14</remote>
+               <ejb-link>link_14</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+               <description>description_10</description>
+               <ejb-ref-name>name_10</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_10</local-home>
+               <local>remote_10</local>
+               <ejb-link>link_10</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_11</description>
+               <ejb-ref-name>name_11</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_11</local-home>
+               <local>remote_11</local>
+               <ejb-link>link_11</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_12</description>
+               <ejb-ref-name>name_12</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_12</local-home>
+               <local>remote_12</local>
+               <ejb-link>link_12</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_13</description>
+               <ejb-ref-name>name_13</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_13</local-home>
+               <local>remote_13</local>
+               <ejb-link>link_13</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_14</description>
+               <ejb-ref-name>name_14</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_14</local-home>
+               <local>remote_14</local>
+               <ejb-link>link_14</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+               <description>description_10</description>
+               <role-name>name_10</role-name>
+               <role-link>link_10</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_11</description>
+               <role-name>name_11</role-name>
+               <role-link>link_11</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_12</description>
+               <role-name>name_12</role-name>
+               <role-link>link_12</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_13</description>
+               <role-name>name_13</role-name>
+               <role-link>link_13</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_14</description>
+               <role-name>name_14</role-name>
+               <role-link>link_14</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_1</description>
+               <run-as>
+                  <description>description_1</description>
+                  <role-name>roleName_1</role-name>
+               </run-as>
+            </security-identity>
+            <resource-ref>
+               <description>description_10</description>
+               <res-ref-name>name_10</res-ref-name>
+               <res-type>type_10</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_11</description>
+               <res-ref-name>name_11</res-ref-name>
+               <res-type>type_11</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_12</description>
+               <res-ref-name>name_12</res-ref-name>
+               <res-type>type_12</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_13</description>
+               <res-ref-name>name_13</res-ref-name>
+               <res-type>type_13</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_14</description>
+               <res-ref-name>name_14</res-ref-name>
+               <res-type>type_14</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+               <description>description_10</description>
+               <resource-env-ref-name>name_10</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_11</description>
+               <resource-env-ref-name>name_11</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_12</description>
+               <resource-env-ref-name>name_12</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_13</description>
+               <resource-env-ref-name>name_13</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_14</description>
+               <resource-env-ref-name>name_14</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <query>
+               <description>description_0</description>
+               <query-method>
+                  <method-name>name_0</method-name>
+                  <method-params></method-params>
+               </query-method>
+               <result-type-mapping>Remote</result-type-mapping>
+               <ejb-ql>ejbQL_0</ejb-ql>
+            </query>
+            <query>
+               <description>description_1</description>
+               <query-method>
+                  <method-name>name_1</method-name>
+                  <method-params>
+                     <method-param>parms_0</method-param>
+                  </method-params>
+               </query-method>
+               <result-type-mapping>Local</result-type-mapping>
+               <ejb-ql>ejbQL_1</ejb-ql>
+            </query>
+            <query>
+               <description>description_2</description>
+               <query-method>
+                  <method-name>name_2</method-name>
+                  <method-params>
+                     <method-param>parms_1</method-param>
+                     <method-param>parms_2</method-param>
+                  </method-params>
+               </query-method>
+               <result-type-mapping>Remote</result-type-mapping>
+               <ejb-ql>ejbQL_2</ejb-ql>
+            </query>
+            <query>
+               <description>description_3</description>
+               <query-method>
+                  <method-name>name_3</method-name>
+                  <method-params>
+                     <method-param>parms_3</method-param>
+                     <method-param>parms_4</method-param>
+                     <method-param>parms_5</method-param>
+                  </method-params>
+               </query-method>
+               <result-type-mapping>Local</result-type-mapping>
+               <ejb-ql>ejbQL_3</ejb-ql>
+            </query>
+            <query>
+               <description>description_4</description>
+               <query-method>
+                  <method-name>name_4</method-name>
+                  <method-params></method-params>
+               </query-method>
+               <result-type-mapping>Remote</result-type-mapping>
+               <ejb-ql>ejbQL_4</ejb-ql>
+            </query>
+         </entity>
+         <session>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_3</ejb-name>
+            <home>java.util.HashTable</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.HashTable</local-home>
+            <local>java.util.HashTable</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <session-type>Stateful</session-type>
+            <transaction-type>Bean</transaction-type>
+            <env-entry>
+               <description>description_15</description>
+               <env-entry-name>name_15</env-entry-name>
+               <env-entry-type>java.lang.Long</env-entry-type>
+               <env-entry-value>value_15</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_16</description>
+               <env-entry-name>name_16</env-entry-name>
+               <env-entry-type>java.lang.Float</env-entry-type>
+               <env-entry-value>value_16</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_17</description>
+               <env-entry-name>name_17</env-entry-name>
+               <env-entry-type>java.lang.Character</env-entry-type>
+               <env-entry-value>value_17</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_18</description>
+               <env-entry-name>name_18</env-entry-name>
+               <env-entry-type>java.lang.String</env-entry-type>
+               <env-entry-value>value_18</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_19</description>
+               <env-entry-name>name_19</env-entry-name>
+               <env-entry-type>java.lang.Integer</env-entry-type>
+               <env-entry-value>value_19</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+               <description>description_15</description>
+               <ejb-ref-name>name_15</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_15</home>
+               <remote>remote_15</remote>
+               <ejb-link>link_15</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_16</description>
+               <ejb-ref-name>name_16</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_16</home>
+               <remote>remote_16</remote>
+               <ejb-link>link_16</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_17</description>
+               <ejb-ref-name>name_17</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_17</home>
+               <remote>remote_17</remote>
+               <ejb-link>link_17</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_18</description>
+               <ejb-ref-name>name_18</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_18</home>
+               <remote>remote_18</remote>
+               <ejb-link>link_18</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_19</description>
+               <ejb-ref-name>name_19</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_19</home>
+               <remote>remote_19</remote>
+               <ejb-link>link_19</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+               <description>description_15</description>
+               <ejb-ref-name>name_15</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_15</local-home>
+               <local>remote_15</local>
+               <ejb-link>link_15</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_16</description>
+               <ejb-ref-name>name_16</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_16</local-home>
+               <local>remote_16</local>
+               <ejb-link>link_16</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_17</description>
+               <ejb-ref-name>name_17</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_17</local-home>
+               <local>remote_17</local>
+               <ejb-link>link_17</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_18</description>
+               <ejb-ref-name>name_18</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_18</local-home>
+               <local>remote_18</local>
+               <ejb-link>link_18</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_19</description>
+               <ejb-ref-name>name_19</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_19</local-home>
+               <local>remote_19</local>
+               <ejb-link>link_19</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+               <description>description_15</description>
+               <role-name>name_15</role-name>
+               <role-link>link_15</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_16</description>
+               <role-name>name_16</role-name>
+               <role-link>link_16</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_17</description>
+               <role-name>name_17</role-name>
+               <role-link>link_17</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_18</description>
+               <role-name>name_18</role-name>
+               <role-link>link_18</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_19</description>
+               <role-name>name_19</role-name>
+               <role-link>link_19</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_1</description>
+               <use-caller-identity></use-caller-identity>
+            </security-identity>
+            <resource-ref>
+               <description>description_15</description>
+               <res-ref-name>name_15</res-ref-name>
+               <res-type>type_15</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_16</description>
+               <res-ref-name>name_16</res-ref-name>
+               <res-type>type_16</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_17</description>
+               <res-ref-name>name_17</res-ref-name>
+               <res-type>type_17</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_18</description>
+               <res-ref-name>name_18</res-ref-name>
+               <res-type>type_18</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_19</description>
+               <res-ref-name>name_19</res-ref-name>
+               <res-type>type_19</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+               <description>description_15</description>
+               <resource-env-ref-name>name_15</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_16</description>
+               <resource-env-ref-name>name_16</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_17</description>
+               <resource-env-ref-name>name_17</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_18</description>
+               <resource-env-ref-name>name_18</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_19</description>
+               <resource-env-ref-name>name_19</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+         </session>
+         <entity>
+            <description>description_2</description>
+            <display-name>displayName_2</display-name>
+            <small-icon>smallIcon_2</small-icon>
+            <large-icon>largeIcon_2</large-icon>
+            <ejb-name>name_4</ejb-name>
+            <home>java.sql.Data</home>
+            <remote>java.sql.Data</remote>
+            <local-home>java.sql.Data</local-home>
+            <local>java.sql.Data</local>
+            <ejb-class>java.sql.Data</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.sql.Data</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+               <description>description_20</description>
+               <env-entry-name>name_20</env-entry-name>
+               <env-entry-type>java.lang.Boolean</env-entry-type>
+               <env-entry-value>value_20</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_21</description>
+               <env-entry-name>name_21</env-entry-name>
+               <env-entry-type>java.lang.Double</env-entry-type>
+               <env-entry-value>value_21</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_22</description>
+               <env-entry-name>name_22</env-entry-name>
+               <env-entry-type>java.lang.Byte</env-entry-type>
+               <env-entry-value>value_22</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_23</description>
+               <env-entry-name>name_23</env-entry-name>
+               <env-entry-type>java.lang.Short</env-entry-type>
+               <env-entry-value>value_23</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_24</description>
+               <env-entry-name>name_24</env-entry-name>
+               <env-entry-type>java.lang.Long</env-entry-type>
+               <env-entry-value>value_24</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+               <description>description_20</description>
+               <ejb-ref-name>name_20</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_20</home>
+               <remote>remote_20</remote>
+               <ejb-link>link_20</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_21</description>
+               <ejb-ref-name>name_21</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_21</home>
+               <remote>remote_21</remote>
+               <ejb-link>link_21</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_22</description>
+               <ejb-ref-name>name_22</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_22</home>
+               <remote>remote_22</remote>
+               <ejb-link>link_22</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_23</description>
+               <ejb-ref-name>name_23</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_23</home>
+               <remote>remote_23</remote>
+               <ejb-link>link_23</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_24</description>
+               <ejb-ref-name>name_24</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_24</home>
+               <remote>remote_24</remote>
+               <ejb-link>link_24</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+               <description>description_20</description>
+               <ejb-ref-name>name_20</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_20</local-home>
+               <local>remote_20</local>
+               <ejb-link>link_20</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_21</description>
+               <ejb-ref-name>name_21</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_21</local-home>
+               <local>remote_21</local>
+               <ejb-link>link_21</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_22</description>
+               <ejb-ref-name>name_22</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_22</local-home>
+               <local>remote_22</local>
+               <ejb-link>link_22</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_23</description>
+               <ejb-ref-name>name_23</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_23</local-home>
+               <local>remote_23</local>
+               <ejb-link>link_23</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_24</description>
+               <ejb-ref-name>name_24</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_24</local-home>
+               <local>remote_24</local>
+               <ejb-link>link_24</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+               <description>description_20</description>
+               <role-name>name_20</role-name>
+               <role-link>link_20</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_21</description>
+               <role-name>name_21</role-name>
+               <role-link>link_21</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_22</description>
+               <role-name>name_22</role-name>
+               <role-link>link_22</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_23</description>
+               <role-name>name_23</role-name>
+               <role-link>link_23</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_24</description>
+               <role-name>name_24</role-name>
+               <role-link>link_24</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_2</description>
+               <run-as>
+                  <description>description_2</description>
+                  <role-name>roleName_2</role-name>
+               </run-as>
+            </security-identity>
+            <resource-ref>
+               <description>description_20</description>
+               <res-ref-name>name_20</res-ref-name>
+               <res-type>type_20</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_21</description>
+               <res-ref-name>name_21</res-ref-name>
+               <res-type>type_21</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_22</description>
+               <res-ref-name>name_22</res-ref-name>
+               <res-type>type_22</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_23</description>
+               <res-ref-name>name_23</res-ref-name>
+               <res-type>type_23</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_24</description>
+               <res-ref-name>name_24</res-ref-name>
+               <res-type>type_24</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+               <description>description_20</description>
+               <resource-env-ref-name>name_20</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_21</description>
+               <resource-env-ref-name>name_21</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_22</description>
+               <resource-env-ref-name>name_22</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_23</description>
+               <resource-env-ref-name>name_23</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_24</description>
+               <resource-env-ref-name>name_24</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+         </entity>
+         <entity>
+            <description>description_3</description>
+            <display-name>displayName_3</display-name>
+            <small-icon>smallIcon_3</small-icon>
+            <large-icon>largeIcon_3</large-icon>
+            <ejb-name>name_5</ejb-name>
+            <home>java.lang.Integer</home>
+            <remote>java.lang.Integer</remote>
+            <local-home>java.lang.Integer</local-home>
+            <local>java.lang.Integer</local>
+            <ejb-class>java.lang.Integer</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.Integer</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+               <description>description_25</description>
+               <env-entry-name>name_25</env-entry-name>
+               <env-entry-type>java.lang.Float</env-entry-type>
+               <env-entry-value>value_25</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_26</description>
+               <env-entry-name>name_26</env-entry-name>
+               <env-entry-type>java.lang.Character</env-entry-type>
+               <env-entry-value>value_26</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_27</description>
+               <env-entry-name>name_27</env-entry-name>
+               <env-entry-type>java.lang.String</env-entry-type>
+               <env-entry-value>value_27</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_28</description>
+               <env-entry-name>name_28</env-entry-name>
+               <env-entry-type>java.lang.Integer</env-entry-type>
+               <env-entry-value>value_28</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_29</description>
+               <env-entry-name>name_29</env-entry-name>
+               <env-entry-type>java.lang.Boolean</env-entry-type>
+               <env-entry-value>value_29</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+               <description>description_25</description>
+               <ejb-ref-name>name_25</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_25</home>
+               <remote>remote_25</remote>
+               <ejb-link>link_25</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_26</description>
+               <ejb-ref-name>name_26</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_26</home>
+               <remote>remote_26</remote>
+               <ejb-link>link_26</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_27</description>
+               <ejb-ref-name>name_27</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_27</home>
+               <remote>remote_27</remote>
+               <ejb-link>link_27</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_28</description>
+               <ejb-ref-name>name_28</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_28</home>
+               <remote>remote_28</remote>
+               <ejb-link>link_28</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_29</description>
+               <ejb-ref-name>name_29</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_29</home>
+               <remote>remote_29</remote>
+               <ejb-link>link_29</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+               <description>description_25</description>
+               <ejb-ref-name>name_25</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_25</local-home>
+               <local>remote_25</local>
+               <ejb-link>link_25</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_26</description>
+               <ejb-ref-name>name_26</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_26</local-home>
+               <local>remote_26</local>
+               <ejb-link>link_26</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_27</description>
+               <ejb-ref-name>name_27</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_27</local-home>
+               <local>remote_27</local>
+               <ejb-link>link_27</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_28</description>
+               <ejb-ref-name>name_28</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_28</local-home>
+               <local>remote_28</local>
+               <ejb-link>link_28</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_29</description>
+               <ejb-ref-name>name_29</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_29</local-home>
+               <local>remote_29</local>
+               <ejb-link>link_29</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+               <description>description_25</description>
+               <role-name>name_25</role-name>
+               <role-link>link_25</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_26</description>
+               <role-name>name_26</role-name>
+               <role-link>link_26</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_27</description>
+               <role-name>name_27</role-name>
+               <role-link>link_27</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_28</description>
+               <role-name>name_28</role-name>
+               <role-link>link_28</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_29</description>
+               <role-name>name_29</role-name>
+               <role-link>link_29</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_2</description>
+               <use-caller-identity></use-caller-identity>
+            </security-identity>
+            <resource-ref>
+               <description>description_25</description>
+               <res-ref-name>name_25</res-ref-name>
+               <res-type>type_25</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_26</description>
+               <res-ref-name>name_26</res-ref-name>
+               <res-type>type_26</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_27</description>
+               <res-ref-name>name_27</res-ref-name>
+               <res-type>type_27</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_28</description>
+               <res-ref-name>name_28</res-ref-name>
+               <res-type>type_28</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_29</description>
+               <res-ref-name>name_29</res-ref-name>
+               <res-type>type_29</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+               <description>description_25</description>
+               <resource-env-ref-name>name_25</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_26</description>
+               <resource-env-ref-name>name_26</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_27</description>
+               <resource-env-ref-name>name_27</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_28</description>
+               <resource-env-ref-name>name_28</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_29</description>
+               <resource-env-ref-name>name_29</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+         </entity>
+         <message-driven>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_6</ejb-name>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <transaction-type>Bean</transaction-type>
+            <message-selector>messageSelector_0</message-selector>
+            <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
+            <message-driven-destination>
+               <destination-type>javax.jms.Queue</destination-type>
+               <subscription-durability>Durable</subscription-durability>
+            </message-driven-destination>
+            <env-entry>
+               <description>description_30</description>
+               <env-entry-name>name_30</env-entry-name>
+               <env-entry-type>java.lang.Double</env-entry-type>
+               <env-entry-value>value_30</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_31</description>
+               <env-entry-name>name_31</env-entry-name>
+               <env-entry-type>java.lang.Byte</env-entry-type>
+               <env-entry-value>value_31</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_32</description>
+               <env-entry-name>name_32</env-entry-name>
+               <env-entry-type>java.lang.Short</env-entry-type>
+               <env-entry-value>value_32</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_33</description>
+               <env-entry-name>name_33</env-entry-name>
+               <env-entry-type>java.lang.Long</env-entry-type>
+               <env-entry-value>value_33</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_34</description>
+               <env-entry-name>name_34</env-entry-name>
+               <env-entry-type>java.lang.Float</env-entry-type>
+               <env-entry-value>value_34</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+               <description>description_30</description>
+               <ejb-ref-name>name_30</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_30</home>
+               <remote>remote_30</remote>
+               <ejb-link>link_30</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_31</description>
+               <ejb-ref-name>name_31</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_31</home>
+               <remote>remote_31</remote>
+               <ejb-link>link_31</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_32</description>
+               <ejb-ref-name>name_32</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_32</home>
+               <remote>remote_32</remote>
+               <ejb-link>link_32</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_33</description>
+               <ejb-ref-name>name_33</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_33</home>
+               <remote>remote_33</remote>
+               <ejb-link>link_33</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_34</description>
+               <ejb-ref-name>name_34</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_34</home>
+               <remote>remote_34</remote>
+               <ejb-link>link_34</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+               <description>description_30</description>
+               <ejb-ref-name>name_30</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_30</local-home>
+               <local>remote_30</local>
+               <ejb-link>link_30</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_31</description>
+               <ejb-ref-name>name_31</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_31</local-home>
+               <local>remote_31</local>
+               <ejb-link>link_31</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_32</description>
+               <ejb-ref-name>name_32</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_32</local-home>
+               <local>remote_32</local>
+               <ejb-link>link_32</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_33</description>
+               <ejb-ref-name>name_33</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_33</local-home>
+               <local>remote_33</local>
+               <ejb-link>link_33</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_34</description>
+               <ejb-ref-name>name_34</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_34</local-home>
+               <local>remote_34</local>
+               <ejb-link>link_34</ejb-link>
+            </ejb-local-ref>
+            <security-identity>
+               <description>description_3</description>
+               <run-as>
+                  <description>description_3</description>
+                  <role-name>roleName_3</role-name>
+               </run-as>
+            </security-identity>
+            <resource-ref>
+               <description>description_30</description>
+               <res-ref-name>name_30</res-ref-name>
+               <res-type>type_30</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_31</description>
+               <res-ref-name>name_31</res-ref-name>
+               <res-type>type_31</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_32</description>
+               <res-ref-name>name_32</res-ref-name>
+               <res-type>type_32</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_33</description>
+               <res-ref-name>name_33</res-ref-name>
+               <res-type>type_33</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_34</description>
+               <res-ref-name>name_34</res-ref-name>
+               <res-type>type_34</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+               <description>description_30</description>
+               <resource-env-ref-name>name_30</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_31</description>
+               <resource-env-ref-name>name_31</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_32</description>
+               <resource-env-ref-name>name_32</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_33</description>
+               <resource-env-ref-name>name_33</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_34</description>
+               <resource-env-ref-name>name_34</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+         </message-driven>
+         <session>
+            <description>description_1</description>
+            <display-name>displayName_1</display-name>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+            <ejb-name>name_7</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.util.List</remote>
+            <local-home>java.util.List</local-home>
+            <local>java.util.List</local>
+            <ejb-class>java.util.List</ejb-class>
+            <session-type>Stateless</session-type>
+            <transaction-type>Container</transaction-type>
+            <env-entry>
+               <description>description_35</description>
+               <env-entry-name>name_35</env-entry-name>
+               <env-entry-type>java.lang.Character</env-entry-type>
+               <env-entry-value>value_35</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_36</description>
+               <env-entry-name>name_36</env-entry-name>
+               <env-entry-type>java.lang.String</env-entry-type>
+               <env-entry-value>value_36</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_37</description>
+               <env-entry-name>name_37</env-entry-name>
+               <env-entry-type>java.lang.Integer</env-entry-type>
+               <env-entry-value>value_37</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_38</description>
+               <env-entry-name>name_38</env-entry-name>
+               <env-entry-type>java.lang.Boolean</env-entry-type>
+               <env-entry-value>value_38</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_39</description>
+               <env-entry-name>name_39</env-entry-name>
+               <env-entry-type>java.lang.Double</env-entry-type>
+               <env-entry-value>value_39</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+               <description>description_35</description>
+               <ejb-ref-name>name_35</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_35</home>
+               <remote>remote_35</remote>
+               <ejb-link>link_35</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_36</description>
+               <ejb-ref-name>name_36</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_36</home>
+               <remote>remote_36</remote>
+               <ejb-link>link_36</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_37</description>
+               <ejb-ref-name>name_37</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_37</home>
+               <remote>remote_37</remote>
+               <ejb-link>link_37</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_38</description>
+               <ejb-ref-name>name_38</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_38</home>
+               <remote>remote_38</remote>
+               <ejb-link>link_38</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_39</description>
+               <ejb-ref-name>name_39</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_39</home>
+               <remote>remote_39</remote>
+               <ejb-link>link_39</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+               <description>description_35</description>
+               <ejb-ref-name>name_35</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_35</local-home>
+               <local>remote_35</local>
+               <ejb-link>link_35</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_36</description>
+               <ejb-ref-name>name_36</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_36</local-home>
+               <local>remote_36</local>
+               <ejb-link>link_36</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_37</description>
+               <ejb-ref-name>name_37</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_37</local-home>
+               <local>remote_37</local>
+               <ejb-link>link_37</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_38</description>
+               <ejb-ref-name>name_38</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_38</local-home>
+               <local>remote_38</local>
+               <ejb-link>link_38</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_39</description>
+               <ejb-ref-name>name_39</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_39</local-home>
+               <local>remote_39</local>
+               <ejb-link>link_39</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+               <description>description_30</description>
+               <role-name>name_30</role-name>
+               <role-link>link_30</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_31</description>
+               <role-name>name_31</role-name>
+               <role-link>link_31</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_32</description>
+               <role-name>name_32</role-name>
+               <role-link>link_32</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_33</description>
+               <role-name>name_33</role-name>
+               <role-link>link_33</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_34</description>
+               <role-name>name_34</role-name>
+               <role-link>link_34</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_3</description>
+               <use-caller-identity></use-caller-identity>
+            </security-identity>
+            <resource-ref>
+               <description>description_35</description>
+               <res-ref-name>name_35</res-ref-name>
+               <res-type>type_35</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_36</description>
+               <res-ref-name>name_36</res-ref-name>
+               <res-type>type_36</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_37</description>
+               <res-ref-name>name_37</res-ref-name>
+               <res-type>type_37</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_38</description>
+               <res-ref-name>name_38</res-ref-name>
+               <res-type>type_38</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_39</description>
+               <res-ref-name>name_39</res-ref-name>
+               <res-type>type_39</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+               <description>description_35</description>
+               <resource-env-ref-name>name_35</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_36</description>
+               <resource-env-ref-name>name_36</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_37</description>
+               <resource-env-ref-name>name_37</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_38</description>
+               <resource-env-ref-name>name_38</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_39</description>
+               <resource-env-ref-name>name_39</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+         </session>
+         <entity>
+            <description>description_4</description>
+            <display-name>displayName_4</display-name>
+            <small-icon>smallIcon_4</small-icon>
+            <large-icon>largeIcon_4</large-icon>
+            <ejb-name>name_8</ejb-name>
+            <home>java.lang.String</home>
+            <remote>java.lang.String</remote>
+            <local-home>java.lang.String</local-home>
+            <local>java.lang.String</local>
+            <ejb-class>java.lang.String</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.String</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+               <description>description_40</description>
+               <env-entry-name>name_40</env-entry-name>
+               <env-entry-type>java.lang.Byte</env-entry-type>
+               <env-entry-value>value_40</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_41</description>
+               <env-entry-name>name_41</env-entry-name>
+               <env-entry-type>java.lang.Short</env-entry-type>
+               <env-entry-value>value_41</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_42</description>
+               <env-entry-name>name_42</env-entry-name>
+               <env-entry-type>java.lang.Long</env-entry-type>
+               <env-entry-value>value_42</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_43</description>
+               <env-entry-name>name_43</env-entry-name>
+               <env-entry-type>java.lang.Float</env-entry-type>
+               <env-entry-value>value_43</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_44</description>
+               <env-entry-name>name_44</env-entry-name>
+               <env-entry-type>java.lang.Character</env-entry-type>
+               <env-entry-value>value_44</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+               <description>description_40</description>
+               <ejb-ref-name>name_40</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_40</home>
+               <remote>remote_40</remote>
+               <ejb-link>link_40</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_41</description>
+               <ejb-ref-name>name_41</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_41</home>
+               <remote>remote_41</remote>
+               <ejb-link>link_41</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_42</description>
+               <ejb-ref-name>name_42</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_42</home>
+               <remote>remote_42</remote>
+               <ejb-link>link_42</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_43</description>
+               <ejb-ref-name>name_43</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_43</home>
+               <remote>remote_43</remote>
+               <ejb-link>link_43</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_44</description>
+               <ejb-ref-name>name_44</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_44</home>
+               <remote>remote_44</remote>
+               <ejb-link>link_44</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+               <description>description_40</description>
+               <ejb-ref-name>name_40</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_40</local-home>
+               <local>remote_40</local>
+               <ejb-link>link_40</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_41</description>
+               <ejb-ref-name>name_41</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_41</local-home>
+               <local>remote_41</local>
+               <ejb-link>link_41</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_42</description>
+               <ejb-ref-name>name_42</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_42</local-home>
+               <local>remote_42</local>
+               <ejb-link>link_42</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_43</description>
+               <ejb-ref-name>name_43</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_43</local-home>
+               <local>remote_43</local>
+               <ejb-link>link_43</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_44</description>
+               <ejb-ref-name>name_44</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_44</local-home>
+               <local>remote_44</local>
+               <ejb-link>link_44</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+               <description>description_35</description>
+               <role-name>name_35</role-name>
+               <role-link>link_35</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_36</description>
+               <role-name>name_36</role-name>
+               <role-link>link_36</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_37</description>
+               <role-name>name_37</role-name>
+               <role-link>link_37</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_38</description>
+               <role-name>name_38</role-name>
+               <role-link>link_38</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_39</description>
+               <role-name>name_39</role-name>
+               <role-link>link_39</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_4</description>
+               <run-as>
+                  <description>description_4</description>
+                  <role-name>roleName_4</role-name>
+               </run-as>
+            </security-identity>
+            <resource-ref>
+               <description>description_40</description>
+               <res-ref-name>name_40</res-ref-name>
+               <res-type>type_40</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_41</description>
+               <res-ref-name>name_41</res-ref-name>
+               <res-type>type_41</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_42</description>
+               <res-ref-name>name_42</res-ref-name>
+               <res-type>type_42</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_43</description>
+               <res-ref-name>name_43</res-ref-name>
+               <res-type>type_43</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_44</description>
+               <res-ref-name>name_44</res-ref-name>
+               <res-type>type_44</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+               <description>description_40</description>
+               <resource-env-ref-name>name_40</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_41</description>
+               <resource-env-ref-name>name_41</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_42</description>
+               <resource-env-ref-name>name_42</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_43</description>
+               <resource-env-ref-name>name_43</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_44</description>
+               <resource-env-ref-name>name_44</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+         </entity>
+         <entity>
+            <description>description_5</description>
+            <display-name>displayName_5</display-name>
+            <small-icon>smallIcon_5</small-icon>
+            <large-icon>largeIcon_5</large-icon>
+            <ejb-name>name_9</ejb-name>
+            <home>java.util.HashTable</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.HashTable</local-home>
+            <local>java.util.HashTable</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+               <description>description_45</description>
+               <env-entry-name>name_45</env-entry-name>
+               <env-entry-type>java.lang.String</env-entry-type>
+               <env-entry-value>value_45</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_46</description>
+               <env-entry-name>name_46</env-entry-name>
+               <env-entry-type>java.lang.Integer</env-entry-type>
+               <env-entry-value>value_46</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_47</description>
+               <env-entry-name>name_47</env-entry-name>
+               <env-entry-type>java.lang.Boolean</env-entry-type>
+               <env-entry-value>value_47</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_48</description>
+               <env-entry-name>name_48</env-entry-name>
+               <env-entry-type>java.lang.Double</env-entry-type>
+               <env-entry-value>value_48</env-entry-value>
+            </env-entry>
+            <env-entry>
+               <description>description_49</description>
+               <env-entry-name>name_49</env-entry-name>
+               <env-entry-type>java.lang.Byte</env-entry-type>
+               <env-entry-value>value_49</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+               <description>description_45</description>
+               <ejb-ref-name>name_45</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_45</home>
+               <remote>remote_45</remote>
+               <ejb-link>link_45</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_46</description>
+               <ejb-ref-name>name_46</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_46</home>
+               <remote>remote_46</remote>
+               <ejb-link>link_46</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_47</description>
+               <ejb-ref-name>name_47</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_47</home>
+               <remote>remote_47</remote>
+               <ejb-link>link_47</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_48</description>
+               <ejb-ref-name>name_48</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_48</home>
+               <remote>remote_48</remote>
+               <ejb-link>link_48</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+               <description>description_49</description>
+               <ejb-ref-name>name_49</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_49</home>
+               <remote>remote_49</remote>
+               <ejb-link>link_49</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+               <description>description_45</description>
+               <ejb-ref-name>name_45</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_45</local-home>
+               <local>remote_45</local>
+               <ejb-link>link_45</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_46</description>
+               <ejb-ref-name>name_46</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_46</local-home>
+               <local>remote_46</local>
+               <ejb-link>link_46</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_47</description>
+               <ejb-ref-name>name_47</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_47</local-home>
+               <local>remote_47</local>
+               <ejb-link>link_47</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_48</description>
+               <ejb-ref-name>name_48</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_48</local-home>
+               <local>remote_48</local>
+               <ejb-link>link_48</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+               <description>description_49</description>
+               <ejb-ref-name>name_49</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_49</local-home>
+               <local>remote_49</local>
+               <ejb-link>link_49</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+               <description>description_40</description>
+               <role-name>name_40</role-name>
+               <role-link>link_40</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_41</description>
+               <role-name>name_41</role-name>
+               <role-link>link_41</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_42</description>
+               <role-name>name_42</role-name>
+               <role-link>link_42</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_43</description>
+               <role-name>name_43</role-name>
+               <role-link>link_43</role-link>
+            </security-role-ref>
+            <security-role-ref>
+               <description>description_44</description>
+               <role-name>name_44</role-name>
+               <role-link>link_44</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_4</description>
+               <use-caller-identity></use-caller-identity>
+            </security-identity>
+            <resource-ref>
+               <description>description_45</description>
+               <res-ref-name>name_45</res-ref-name>
+               <res-type>type_45</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_46</description>
+               <res-ref-name>name_46</res-ref-name>
+               <res-type>type_46</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_47</description>
+               <res-ref-name>name_47</res-ref-name>
+               <res-type>type_47</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_48</description>
+               <res-ref-name>name_48</res-ref-name>
+               <res-type>type_48</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+               <description>description_49</description>
+               <res-ref-name>name_49</res-ref-name>
+               <res-type>type_49</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+               <description>description_45</description>
+               <resource-env-ref-name>name_45</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_46</description>
+               <resource-env-ref-name>name_46</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_47</description>
+               <resource-env-ref-name>name_47</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_48</description>
+               <resource-env-ref-name>name_48</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+               <description>description_49</description>
+               <resource-env-ref-name>name_49</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+         </entity>
+      </enterprise-beans>
+      <relationships>
+         <description>description_0</description>
+         <ejb-relation>
+            <description>description_0</description>
+            <ejb-relation-name>name_0</ejb-relation-name>
+            <ejb-relationship-role>
+               <description>description_0</description>
+               <ejb-relationship-role-name>roleName_0</ejb-relationship-role-name>
+               <multiplicity>One</multiplicity>
+               <relationship-role-source>
+                  <description>description_0</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+               <cmr-field>
+                  <cmr-field-name>name_8</cmr-field-name>
+                  <cmr-field-type>java.util.Collection</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+               <description>description_1</description>
+               <ejb-relationship-role-name>roleName_1</ejb-relationship-role-name>
+               <multiplicity>Many</multiplicity>
+			   <cascade-delete/>
+               <relationship-role-source>
+                  <description>description_1</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+               <cmr-field>
+                  <cmr-field-name>name_9</cmr-field-name>
+                  <cmr-field-type>java.util.Collection</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+         </ejb-relation>
+         <ejb-relation>
+            <description>description_1</description>
+            <ejb-relation-name>name_1</ejb-relation-name>
+            <ejb-relationship-role>
+               <description>description_2</description>
+               <ejb-relationship-role-name>roleName_2</ejb-relationship-role-name>
+               <multiplicity>One</multiplicity>
+               <relationship-role-source>
+                  <description>description_2</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+               <description>description_3</description>
+               <ejb-relationship-role-name>roleName_3</ejb-relationship-role-name>
+               <multiplicity>Many</multiplicity>
+               <relationship-role-source>
+                  <description>description_3</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+            </ejb-relationship-role>
+         </ejb-relation>
+         <ejb-relation>
+            <description>description_2</description>
+            <ejb-relation-name>name_2</ejb-relation-name>
+            <ejb-relationship-role>
+               <description>description_4</description>
+               <ejb-relationship-role-name>roleName_4</ejb-relationship-role-name>
+               <multiplicity>One</multiplicity>
+               <relationship-role-source>
+                  <description>description_4</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+               <description>description_5</description>
+               <ejb-relationship-role-name>roleName_5</ejb-relationship-role-name>
+               <multiplicity>Many</multiplicity>
+			   <cascade-delete/>
+               <relationship-role-source>
+                  <description>description_5</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+            </ejb-relationship-role>
+         </ejb-relation>
+         <ejb-relation>
+            <description>description_3</description>
+            <ejb-relation-name>name_3</ejb-relation-name>
+            <ejb-relationship-role>
+               <description>description_6</description>
+               <ejb-relationship-role-name>roleName_6</ejb-relationship-role-name>
+               <multiplicity>One</multiplicity>
+               <relationship-role-source>
+                  <description>description_6</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+               <description>description_7</description>
+               <ejb-relationship-role-name>roleName_7</ejb-relationship-role-name>
+               <multiplicity>Many</multiplicity>
+               <relationship-role-source>
+                  <description>description_7</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+            </ejb-relationship-role>
+         </ejb-relation>
+         <ejb-relation>
+            <description>description_4</description>
+            <ejb-relation-name>name_4</ejb-relation-name>
+            <ejb-relationship-role>
+               <description>description_8</description>
+               <ejb-relationship-role-name>roleName_8</ejb-relationship-role-name>
+               <multiplicity>One</multiplicity>
+               <relationship-role-source>
+                  <description>description_8</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+               <description>description_9</description>
+               <ejb-relationship-role-name>roleName_9</ejb-relationship-role-name>
+               <multiplicity>Many</multiplicity>
+			   <cascade-delete/>
+               <relationship-role-source>
+                  <description>description_9</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+            </ejb-relationship-role>
+         </ejb-relation>
+      </relationships>
+      <assembly-descriptor>
+         <security-role>
+            <description>description_0</description>
+            <role-name>roleName_0</role-name>
+         </security-role>
+         <security-role>
+            <description>description_1</description>
+            <role-name>roleName_1</role-name>
+         </security-role>
+         <security-role>
+            <description>description_2</description>
+            <role-name>roleName_2</role-name>
+         </security-role>
+         <security-role>
+            <description>description_3</description>
+            <role-name>roleName_3</role-name>
+         </security-role>
+         <security-role>
+            <description>description_4</description>
+            <role-name>roleName_4</role-name>
+         </security-role>
+         <method-permission>
+            <description>description_0</description>
+            <unchecked/>
+            <method>
+               <description>description_0</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_0</method-name>
+            </method>
+            <method>
+               <description>description_1</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_1</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_2</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_2</method-name>
+               <method-params>
+                  <method-param>parms_0</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_3</description>
+               <ejb-name>name_3</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_3</method-name>
+               <method-params>
+                  <method-param>parms_1</method-param>
+                  <method-param>parms_2</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_4</description>
+               <ejb-name>name_4</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_4</method-name>
+               <method-params>
+                  <method-param>parms_3</method-param>
+                  <method-param>parms_4</method-param>
+                  <method-param>parms_5</method-param>
+               </method-params>
+            </method>
+         </method-permission>
+         <method-permission>
+            <description>description_1</description>
+            <role-name>roleName_0</role-name>
+            <method>
+               <description>description_5</description>
+               <ejb-name>name_5</ejb-name>
+               <method-name>name_5</method-name>
+            </method>
+            <method>
+               <description>description_6</description>
+               <ejb-name>name_6</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_6</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_7</description>
+               <ejb-name>name_7</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_7</method-name>
+               <method-params>
+                  <method-param>parms_6</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_8</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_8</method-name>
+               <method-params>
+                  <method-param>parms_7</method-param>
+                  <method-param>parms_8</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_9</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_9</method-name>
+               <method-params>
+                  <method-param>parms_9</method-param>
+                  <method-param>parms_10</method-param>
+                  <method-param>parms_11</method-param>
+               </method-params>
+            </method>
+         </method-permission>
+         <method-permission>
+            <description>description_2</description>
+            <role-name>roleName_0</role-name>
+            <role-name>roleName_1</role-name>
+            <method>
+               <description>description_10</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_10</method-name>
+            </method>
+            <method>
+               <description>description_11</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_11</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_12</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_12</method-name>
+               <method-params>
+                  <method-param>parms_12</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_13</description>
+               <ejb-name>name_3</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_13</method-name>
+               <method-params>
+                  <method-param>parms_13</method-param>
+                  <method-param>parms_14</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_14</description>
+               <ejb-name>name_4</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_14</method-name>
+               <method-params>
+                  <method-param>parms_15</method-param>
+                  <method-param>parms_16</method-param>
+                  <method-param>parms_17</method-param>
+               </method-params>
+            </method>
+         </method-permission>
+         <method-permission>
+            <description>description_3</description>
+            <role-name>roleName_0</role-name>
+            <role-name>roleName_1</role-name>
+            <role-name>roleName_2</role-name>
+            <method>
+               <description>description_15</description>
+               <ejb-name>name_5</ejb-name>
+               <method-name>name_15</method-name>
+            </method>
+            <method>
+               <description>description_16</description>
+               <ejb-name>name_6</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_16</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_17</description>
+               <ejb-name>name_7</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_17</method-name>
+               <method-params>
+                  <method-param>parms_18</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_18</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_18</method-name>
+               <method-params>
+                  <method-param>parms_19</method-param>
+                  <method-param>parms_20</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_19</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_19</method-name>
+               <method-params>
+                  <method-param>parms_21</method-param>
+                  <method-param>parms_22</method-param>
+                  <method-param>parms_23</method-param>
+               </method-params>
+            </method>
+         </method-permission>
+         <method-permission>
+            <description>description_4</description>
+            <role-name>roleName_0</role-name>
+            <role-name>roleName_1</role-name>
+            <role-name>roleName_2</role-name>
+            <role-name>roleName_3</role-name>
+            <method>
+               <description>description_20</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_20</method-name>
+            </method>
+            <method>
+               <description>description_21</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_21</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_22</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_22</method-name>
+               <method-params>
+                  <method-param>parms_24</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_23</description>
+               <ejb-name>name_3</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_23</method-name>
+               <method-params>
+                  <method-param>parms_25</method-param>
+                  <method-param>parms_26</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_24</description>
+               <ejb-name>name_4</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_24</method-name>
+               <method-params>
+                  <method-param>parms_27</method-param>
+                  <method-param>parms_28</method-param>
+                  <method-param>parms_29</method-param>
+               </method-params>
+            </method>
+         </method-permission>
+         <container-transaction>
+            <description>description_0</description>
+            <method>
+               <description>description_25</description>
+               <ejb-name>name_5</ejb-name>
+               <method-name>name_25</method-name>
+            </method>
+            <method>
+               <description>description_26</description>
+               <ejb-name>name_6</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_26</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_27</description>
+               <ejb-name>name_7</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_27</method-name>
+               <method-params>
+                  <method-param>parms_30</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_28</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_28</method-name>
+               <method-params>
+                  <method-param>parms_31</method-param>
+                  <method-param>parms_32</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_29</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_29</method-name>
+               <method-params>
+                  <method-param>parms_33</method-param>
+                  <method-param>parms_34</method-param>
+                  <method-param>parms_35</method-param>
+               </method-params>
+            </method>
+            <trans-attribute>NotSupported</trans-attribute>
+         </container-transaction>
+         <container-transaction>
+            <description>description_1</description>
+            <method>
+               <description>description_30</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_30</method-name>
+            </method>
+            <method>
+               <description>description_31</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_31</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_32</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_32</method-name>
+               <method-params>
+                  <method-param>parms_36</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_33</description>
+               <ejb-name>name_3</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_33</method-name>
+               <method-params>
+                  <method-param>parms_37</method-param>
+                  <method-param>parms_38</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_34</description>
+               <ejb-name>name_4</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_34</method-name>
+               <method-params>
+                  <method-param>parms_39</method-param>
+                  <method-param>parms_40</method-param>
+                  <method-param>parms_41</method-param>
+               </method-params>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+         </container-transaction>
+         <container-transaction>
+            <description>description_2</description>
+            <method>
+               <description>description_35</description>
+               <ejb-name>name_5</ejb-name>
+               <method-name>name_35</method-name>
+            </method>
+            <method>
+               <description>description_36</description>
+               <ejb-name>name_6</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_36</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_37</description>
+               <ejb-name>name_7</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_37</method-name>
+               <method-params>
+                  <method-param>parms_42</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_38</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_38</method-name>
+               <method-params>
+                  <method-param>parms_43</method-param>
+                  <method-param>parms_44</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_39</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_39</method-name>
+               <method-params>
+                  <method-param>parms_45</method-param>
+                  <method-param>parms_46</method-param>
+                  <method-param>parms_47</method-param>
+               </method-params>
+            </method>
+            <trans-attribute>Required</trans-attribute>
+         </container-transaction>
+         <container-transaction>
+            <description>description_3</description>
+            <method>
+               <description>description_40</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_40</method-name>
+            </method>
+            <method>
+               <description>description_41</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_41</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_42</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_42</method-name>
+               <method-params>
+                  <method-param>parms_48</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_43</description>
+               <ejb-name>name_3</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_43</method-name>
+               <method-params>
+                  <method-param>parms_49</method-param>
+                  <method-param>parms_50</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_44</description>
+               <ejb-name>name_4</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_44</method-name>
+               <method-params>
+                  <method-param>parms_51</method-param>
+                  <method-param>parms_52</method-param>
+                  <method-param>parms_53</method-param>
+               </method-params>
+            </method>
+            <trans-attribute>RequiresNew</trans-attribute>
+         </container-transaction>
+         <container-transaction>
+            <description>description_4</description>
+            <method>
+               <description>description_45</description>
+               <ejb-name>name_5</ejb-name>
+               <method-name>name_45</method-name>
+            </method>
+            <method>
+               <description>description_46</description>
+               <ejb-name>name_6</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_46</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_47</description>
+               <ejb-name>name_7</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_47</method-name>
+               <method-params>
+                  <method-param>parms_54</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_48</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_48</method-name>
+               <method-params>
+                  <method-param>parms_55</method-param>
+                  <method-param>parms_56</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_49</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_49</method-name>
+               <method-params>
+                  <method-param>parms_57</method-param>
+                  <method-param>parms_58</method-param>
+                  <method-param>parms_59</method-param>
+               </method-params>
+            </method>
+            <trans-attribute>Mandatory</trans-attribute>
+         </container-transaction>
+         <exclude-list>
+            <description>description_0</description>
+            <method>
+               <description>description_50</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_50</method-name>
+            </method>
+            <method>
+               <description>description_51</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_51</method-name>
+               <method-params></method-params>
+            </method>
+            <method>
+               <description>description_52</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_52</method-name>
+               <method-params>
+                  <method-param>parms_60</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_53</description>
+               <ejb-name>name_3</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_53</method-name>
+               <method-params>
+                  <method-param>parms_61</method-param>
+                  <method-param>parms_62</method-param>
+               </method-params>
+            </method>
+            <method>
+               <description>description_54</description>
+               <ejb-name>name_4</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_54</method-name>
+               <method-params>
+                  <method-param>parms_63</method-param>
+                  <method-param>parms_64</method-param>
+                  <method-param>parms_65</method-param>
+               </method-params>
+            </method>
+         </exclude-list>
+      </assembly-descriptor>
+      <ejb-client-jar>ejbClientJar_0</ejb-client-jar>
+   </ejb-jar>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/ra.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/ra.xml
new file mode 100644
index 0000000..2e2a262
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/ra.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE connector PUBLIC "-//Sun Microsystems, Inc.//DTD Connector 1.0//EN" "http://java.sun.com/dtd/connector_1_0.dtd">
+<connector>
+    <display-name>displayName_0</display-name>
+    <description>description_0</description>
+    <icon>
+        <small-icon>smallIcon_0</small-icon>
+        <large-icon>largeIcon_0</large-icon>
+    </icon>
+    <vendor-name>vendorName_0</vendor-name>
+    <spec-version>1.0</spec-version>
+    <eis-type>eisType_0</eis-type>
+    <version>1.0</version>
+    <license>
+        <description>description_0</description>
+        <license-required>true</license-required>
+    </license>
+    <resourceadapter>
+        <managedconnectionfactory-class>managedConnectionFactoryClass_0</managedconnectionfactory-class>
+        <connectionfactory-interface>connectionFactoryInterface_0</connectionfactory-interface>
+        <connectionfactory-impl-class>connectionFactoryImplClass_0</connectionfactory-impl-class>
+        <connection-interface>connectionInterface_0</connection-interface>
+        <connection-impl-class>connectionImplClass_0</connection-impl-class>
+        <transaction-support>NoTransaction</transaction-support>
+        <config-property>
+            <description>description_0</description>
+            <config-property-name>name_0</config-property-name>
+            <config-property-type>java.lang.String</config-property-type>
+            <config-property-value>value_0</config-property-value>
+        </config-property>
+        <config-property>
+            <description>description_1</description>
+            <config-property-name>name_1</config-property-name>
+            <config-property-type>java.lang.String</config-property-type>
+            <config-property-value>value_1</config-property-value>
+        </config-property>
+        <config-property>
+            <description>description_2</description>
+            <config-property-name>name_2</config-property-name>
+            <config-property-type>java.lang.String</config-property-type>
+            <config-property-value>value_2</config-property-value>
+        </config-property>
+        <config-property>
+            <description>description_3</description>
+            <config-property-name>name_3</config-property-name>
+            <config-property-type>java.lang.String</config-property-type>
+            <config-property-value>value_3</config-property-value>
+        </config-property>
+        <config-property>
+            <description>description_4</description>
+            <config-property-name>name_4</config-property-name>
+            <config-property-type>java.lang.String</config-property-type>
+            <config-property-value>value_4</config-property-value>
+        </config-property>
+        <authentication-mechanism>
+            <description>description_0</description>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+        </authentication-mechanism>
+        <authentication-mechanism>
+            <description>description_1</description>
+            <authentication-mechanism-type>Kerbv5</authentication-mechanism-type>
+            <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+        </authentication-mechanism>
+        <authentication-mechanism>
+            <description>description_2</description>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+        </authentication-mechanism>
+        <authentication-mechanism>
+            <description>description_3</description>
+            <authentication-mechanism-type>Kerbv5</authentication-mechanism-type>
+            <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+        </authentication-mechanism>
+        <authentication-mechanism>
+            <description>description_4</description>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>javax.resource.spi.security.PasswordCredential</credential-interface>
+        </authentication-mechanism>
+        <reauthentication-support>true</reauthentication-support>
+        <security-permission>
+            <description>description_0</description>
+            <security-permission-spec>specification_0</security-permission-spec>
+        </security-permission>
+        <security-permission>
+            <description>description_1</description>
+            <security-permission-spec>specification_1</security-permission-spec>
+        </security-permission>
+        <security-permission>
+            <description>description_2</description>
+            <security-permission-spec>specification_2</security-permission-spec>
+        </security-permission>
+        <security-permission>
+            <description>description_3</description>
+            <security-permission-spec>specification_3</security-permission-spec>
+        </security-permission>
+        <security-permission>
+            <description>description_4</description>
+            <security-permission-spec>specification_4</security-permission-spec>
+        </security-permission>
+    </resourceadapter>
+</connector>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/web.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/web.xml
new file mode 100644
index 0000000..f34ec57
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTestNoID/web.xml
@@ -0,0 +1,1284 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app id="WebApp_ID">
+    <icon>
+        <small-icon>smallIcon_0</small-icon>
+        <large-icon>largeIcon_0</large-icon>
+    </icon>
+    <display-name>displayName_0</display-name>
+    <description>description_0</description>
+    <distributable/>
+    <context-param>
+        <param-name>paramName_0</param-name>
+        <param-value>paramValue_0</param-value>
+        <description>description_0</description>
+    </context-param>
+    <context-param>
+        <param-name>paramName_1</param-name>
+        <param-value>paramValue_1</param-value>
+        <description>description_1</description>
+    </context-param>
+    <context-param>
+        <param-name>paramName_2</param-name>
+        <param-value>paramValue_2</param-value>
+        <description>description_2</description>
+    </context-param>
+    <context-param>
+        <param-name>paramName_3</param-name>
+        <param-value>paramValue_3</param-value>
+        <description>description_3</description>
+    </context-param>
+    <context-param>
+        <param-name>paramName_4</param-name>
+        <param-value>paramValue_4</param-value>
+        <description>description_4</description>
+    </context-param>
+    <filter>
+        <icon>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+        </icon>
+        <filter-name>name_0</filter-name>
+        <display-name>displayName_0</display-name>
+        <description>description_0</description>
+        <filter-class>java.util.HashTable</filter-class>
+        <init-param>
+            <param-name>paramName_25</param-name>
+            <param-value>paramValue_25</param-value>
+            <description>description_25</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_26</param-name>
+            <param-value>paramValue_26</param-value>
+            <description>description_26</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_27</param-name>
+            <param-value>paramValue_27</param-value>
+            <description>description_27</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_28</param-name>
+            <param-value>paramValue_28</param-value>
+            <description>description_28</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_29</param-name>
+            <param-value>paramValue_29</param-value>
+            <description>description_29</description>
+        </init-param>
+    </filter>
+    <filter>
+        <icon>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+        </icon>
+        <filter-name>name_1</filter-name>
+        <display-name>displayName_1</display-name>
+        <description>description_1</description>
+        <filter-class>java.util.List</filter-class>
+        <init-param>
+            <param-name>paramName_30</param-name>
+            <param-value>paramValue_30</param-value>
+            <description>description_30</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_31</param-name>
+            <param-value>paramValue_31</param-value>
+            <description>description_31</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_32</param-name>
+            <param-value>paramValue_32</param-value>
+            <description>description_32</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_33</param-name>
+            <param-value>paramValue_33</param-value>
+            <description>description_33</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_34</param-name>
+            <param-value>paramValue_34</param-value>
+            <description>description_34</description>
+        </init-param>
+    </filter>
+    <filter>
+        <icon>
+            <small-icon>smallIcon_2</small-icon>
+            <large-icon>largeIcon_2</large-icon>
+        </icon>
+        <filter-name>name_2</filter-name>
+        <display-name>displayName_2</display-name>
+        <description>description_2</description>
+        <filter-class>java.sql.Data</filter-class>
+        <init-param>
+            <param-name>paramName_35</param-name>
+            <param-value>paramValue_35</param-value>
+            <description>description_35</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_36</param-name>
+            <param-value>paramValue_36</param-value>
+            <description>description_36</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_37</param-name>
+            <param-value>paramValue_37</param-value>
+            <description>description_37</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_38</param-name>
+            <param-value>paramValue_38</param-value>
+            <description>description_38</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_39</param-name>
+            <param-value>paramValue_39</param-value>
+            <description>description_39</description>
+        </init-param>
+    </filter>
+    <filter>
+        <icon>
+            <small-icon>smallIcon_3</small-icon>
+            <large-icon>largeIcon_3</large-icon>
+        </icon>
+        <filter-name>name_3</filter-name>
+        <display-name>displayName_3</display-name>
+        <description>description_3</description>
+        <filter-class>java.lang.Integer</filter-class>
+        <init-param>
+            <param-name>paramName_40</param-name>
+            <param-value>paramValue_40</param-value>
+            <description>description_40</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_41</param-name>
+            <param-value>paramValue_41</param-value>
+            <description>description_41</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_42</param-name>
+            <param-value>paramValue_42</param-value>
+            <description>description_42</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_43</param-name>
+            <param-value>paramValue_43</param-value>
+            <description>description_43</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_44</param-name>
+            <param-value>paramValue_44</param-value>
+            <description>description_44</description>
+        </init-param>
+    </filter>
+    <filter>
+        <icon>
+            <small-icon>smallIcon_4</small-icon>
+            <large-icon>largeIcon_4</large-icon>
+        </icon>
+        <filter-name>name_4</filter-name>
+        <display-name>displayName_4</display-name>
+        <description>description_4</description>
+        <filter-class>java.lang.String</filter-class>
+        <init-param>
+            <param-name>paramName_45</param-name>
+            <param-value>paramValue_45</param-value>
+            <description>description_45</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_46</param-name>
+            <param-value>paramValue_46</param-value>
+            <description>description_46</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_47</param-name>
+            <param-value>paramValue_47</param-value>
+            <description>description_47</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_48</param-name>
+            <param-value>paramValue_48</param-value>
+            <description>description_48</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_49</param-name>
+            <param-value>paramValue_49</param-value>
+            <description>description_49</description>
+        </init-param>
+    </filter>
+    <filter-mapping>
+        <filter-name>name_0</filter-name>
+        <url-pattern>urlPattern_0</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>name_1</filter-name>
+        <url-pattern>urlPattern_1</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>name_2</filter-name>
+        <url-pattern>urlPattern_2</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>name_3</filter-name>
+        <url-pattern>urlPattern_3</url-pattern>
+    </filter-mapping>
+    <filter-mapping>
+        <filter-name>name_4</filter-name>
+        <url-pattern>urlPattern_4</url-pattern>
+    </filter-mapping>
+    <listener>
+        <listener-class>java.util.HashTable</listener-class>
+    </listener>
+    <listener>
+        <listener-class>java.util.List</listener-class>
+    </listener>
+    <listener>
+        <listener-class>java.sql.Data</listener-class>
+    </listener>
+    <listener>
+        <listener-class>java.lang.Integer</listener-class>
+    </listener>
+    <listener>
+        <listener-class>java.lang.String</listener-class>
+    </listener>
+    <servlet>
+        <icon>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+        </icon>
+        <servlet-name>servletName_0</servlet-name>
+        <display-name>displayName_0</display-name>
+        <description>description_0</description>
+        <jsp-file>jspFile_0</jsp-file>
+        <init-param>
+            <param-name>paramName_0</param-name>
+            <param-value>paramValue_0</param-value>
+            <description>description_0</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_1</param-name>
+            <param-value>paramValue_1</param-value>
+            <description>description_1</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_2</param-name>
+            <param-value>paramValue_2</param-value>
+            <description>description_2</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_3</param-name>
+            <param-value>paramValue_3</param-value>
+            <description>description_3</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_4</param-name>
+            <param-value>paramValue_4</param-value>
+            <description>description_4</description>
+        </init-param>
+        <load-on-startup>0</load-on-startup>
+        <run-as>
+            <description>description_0</description>
+            <role-name>roleName_0</role-name>
+        </run-as>
+        <security-role-ref>
+            <description>description_0</description>
+            <role-name>name_0</role-name>
+            <role-link>link_0</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_1</description>
+            <role-name>name_1</role-name>
+            <role-link>link_1</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_2</description>
+            <role-name>name_2</role-name>
+            <role-link>link_2</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_3</description>
+            <role-name>name_3</role-name>
+            <role-link>link_3</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_4</description>
+            <role-name>name_4</role-name>
+            <role-link>link_4</role-link>
+        </security-role-ref>
+    </servlet>
+    <servlet>
+        <icon>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+        </icon>
+        <servlet-name>servletName_1</servlet-name>
+        <display-name>displayName_1</display-name>
+        <description>description_1</description>
+        <servlet-class>className_0</servlet-class>
+        <init-param>
+            <param-name>paramName_5</param-name>
+            <param-value>paramValue_5</param-value>
+            <description>description_5</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_6</param-name>
+            <param-value>paramValue_6</param-value>
+            <description>description_6</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_7</param-name>
+            <param-value>paramValue_7</param-value>
+            <description>description_7</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_8</param-name>
+            <param-value>paramValue_8</param-value>
+            <description>description_8</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_9</param-name>
+            <param-value>paramValue_9</param-value>
+            <description>description_9</description>
+        </init-param>
+        <load-on-startup>1</load-on-startup>
+        <run-as>
+            <description>description_1</description>
+            <role-name>roleName_1</role-name>
+        </run-as>
+        <security-role-ref>
+            <description>description_5</description>
+            <role-name>name_5</role-name>
+            <role-link>link_5</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_6</description>
+            <role-name>name_6</role-name>
+            <role-link>link_6</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_7</description>
+            <role-name>name_7</role-name>
+            <role-link>link_7</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_8</description>
+            <role-name>name_8</role-name>
+            <role-link>link_8</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_9</description>
+            <role-name>name_9</role-name>
+            <role-link>link_9</role-link>
+        </security-role-ref>
+    </servlet>
+    <servlet>
+        <icon>
+            <small-icon>smallIcon_2</small-icon>
+            <large-icon>largeIcon_2</large-icon>
+        </icon>
+        <servlet-name>servletName_2</servlet-name>
+        <display-name>displayName_2</display-name>
+        <description>description_2</description>
+        <jsp-file>jspFile_1</jsp-file>
+        <init-param>
+            <param-name>paramName_10</param-name>
+            <param-value>paramValue_10</param-value>
+            <description>description_10</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_11</param-name>
+            <param-value>paramValue_11</param-value>
+            <description>description_11</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_12</param-name>
+            <param-value>paramValue_12</param-value>
+            <description>description_12</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_13</param-name>
+            <param-value>paramValue_13</param-value>
+            <description>description_13</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_14</param-name>
+            <param-value>paramValue_14</param-value>
+            <description>description_14</description>
+        </init-param>
+        <load-on-startup>2</load-on-startup>
+        <run-as>
+            <description>description_2</description>
+            <role-name>roleName_2</role-name>
+        </run-as>
+        <security-role-ref>
+            <description>description_10</description>
+            <role-name>name_10</role-name>
+            <role-link>link_10</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_11</description>
+            <role-name>name_11</role-name>
+            <role-link>link_11</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_12</description>
+            <role-name>name_12</role-name>
+            <role-link>link_12</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_13</description>
+            <role-name>name_13</role-name>
+            <role-link>link_13</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_14</description>
+            <role-name>name_14</role-name>
+            <role-link>link_14</role-link>
+        </security-role-ref>
+    </servlet>
+    <servlet>
+        <icon>
+            <small-icon>smallIcon_3</small-icon>
+            <large-icon>largeIcon_3</large-icon>
+        </icon>
+        <servlet-name>servletName_3</servlet-name>
+        <display-name>displayName_3</display-name>
+        <description>description_3</description>
+        <servlet-class>className_1</servlet-class>
+        <init-param>
+            <param-name>paramName_15</param-name>
+            <param-value>paramValue_15</param-value>
+            <description>description_15</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_16</param-name>
+            <param-value>paramValue_16</param-value>
+            <description>description_16</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_17</param-name>
+            <param-value>paramValue_17</param-value>
+            <description>description_17</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_18</param-name>
+            <param-value>paramValue_18</param-value>
+            <description>description_18</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_19</param-name>
+            <param-value>paramValue_19</param-value>
+            <description>description_19</description>
+        </init-param>
+        <load-on-startup>3</load-on-startup>
+        <run-as>
+            <description>description_3</description>
+            <role-name>roleName_3</role-name>
+        </run-as>
+        <security-role-ref>
+            <description>description_15</description>
+            <role-name>name_15</role-name>
+            <role-link>link_15</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_16</description>
+            <role-name>name_16</role-name>
+            <role-link>link_16</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_17</description>
+            <role-name>name_17</role-name>
+            <role-link>link_17</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_18</description>
+            <role-name>name_18</role-name>
+            <role-link>link_18</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_19</description>
+            <role-name>name_19</role-name>
+            <role-link>link_19</role-link>
+        </security-role-ref>
+    </servlet>
+    <servlet>
+        <icon>
+            <small-icon>smallIcon_4</small-icon>
+            <large-icon>largeIcon_4</large-icon>
+        </icon>
+        <servlet-name>servletName_4</servlet-name>
+        <display-name>displayName_4</display-name>
+        <description>description_4</description>
+        <jsp-file>jspFile_2</jsp-file>
+        <init-param>
+            <param-name>paramName_20</param-name>
+            <param-value>paramValue_20</param-value>
+            <description>description_20</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_21</param-name>
+            <param-value>paramValue_21</param-value>
+            <description>description_21</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_22</param-name>
+            <param-value>paramValue_22</param-value>
+            <description>description_22</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_23</param-name>
+            <param-value>paramValue_23</param-value>
+            <description>description_23</description>
+        </init-param>
+        <init-param>
+            <param-name>paramName_24</param-name>
+            <param-value>paramValue_24</param-value>
+            <description>description_24</description>
+        </init-param>
+        <load-on-startup>4</load-on-startup>
+        <run-as>
+            <description>description_4</description>
+            <role-name>roleName_4</role-name>
+        </run-as>
+        <security-role-ref>
+            <description>description_20</description>
+            <role-name>name_20</role-name>
+            <role-link>link_20</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_21</description>
+            <role-name>name_21</role-name>
+            <role-link>link_21</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_22</description>
+            <role-name>name_22</role-name>
+            <role-link>link_22</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_23</description>
+            <role-name>name_23</role-name>
+            <role-link>link_23</role-link>
+        </security-role-ref>
+        <security-role-ref>
+            <description>description_24</description>
+            <role-name>name_24</role-name>
+            <role-link>link_24</role-link>
+        </security-role-ref>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>servletName_0</servlet-name>
+        <url-pattern>urlPattern_0</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>servletName_1</servlet-name>
+        <url-pattern>urlPattern_1</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>servletName_2</servlet-name>
+        <url-pattern>urlPattern_2</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>servletName_3</servlet-name>
+        <url-pattern>urlPattern_3</url-pattern>
+    </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>servletName_4</servlet-name>
+        <url-pattern>urlPattern_4</url-pattern>
+    </servlet-mapping>
+    <session-config>
+        <session-timeout>0</session-timeout>
+    </session-config>
+    <mime-mapping>
+        <extension>extension_0</extension>
+        <mime-type>mimeType_0</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>extension_1</extension>
+        <mime-type>mimeType_1</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>extension_2</extension>
+        <mime-type>mimeType_2</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>extension_3</extension>
+        <mime-type>mimeType_3</mime-type>
+    </mime-mapping>
+    <mime-mapping>
+        <extension>extension_4</extension>
+        <mime-type>mimeType_4</mime-type>
+    </mime-mapping>
+    <welcome-file-list>
+        <welcome-file>welcomeFile_0</welcome-file>
+        <welcome-file>welcomeFile_1</welcome-file>
+        <welcome-file>welcomeFile_2</welcome-file>
+        <welcome-file>welcomeFile_3</welcome-file>
+        <welcome-file>welcomeFile_4</welcome-file>
+    </welcome-file-list>
+    <error-page>
+        <exception-type>java.util.HashTable</exception-type>
+        <location>location_0</location>
+    </error-page>
+    <error-page>
+        <error-code>errorCode_0</error-code>
+        <location>location_0</location>
+    </error-page>
+    <error-page>
+        <exception-type>java.util.List</exception-type>
+        <location>location_1</location>
+    </error-page>
+    <error-page>
+        <error-code>errorCode_1</error-code>
+        <location>location_1</location>
+    </error-page>
+    <error-page>
+        <exception-type>java.sql.Data</exception-type>
+        <location>location_2</location>
+    </error-page>
+    <taglib>
+        <taglib-uri>taglibURI_0</taglib-uri>
+        <taglib-location>taglibLocation_0</taglib-location>
+    </taglib>
+    <taglib>
+        <taglib-uri>taglibURI_1</taglib-uri>
+        <taglib-location>taglibLocation_1</taglib-location>
+    </taglib>
+    <taglib>
+        <taglib-uri>taglibURI_2</taglib-uri>
+        <taglib-location>taglibLocation_2</taglib-location>
+    </taglib>
+    <taglib>
+        <taglib-uri>taglibURI_3</taglib-uri>
+        <taglib-location>taglibLocation_3</taglib-location>
+    </taglib>
+    <taglib>
+        <taglib-uri>taglibURI_4</taglib-uri>
+        <taglib-location>taglibLocation_4</taglib-location>
+    </taglib>
+    <resource-env-ref>
+        <description>description_0</description>
+        <resource-env-ref-name>name_0</resource-env-ref-name>
+        <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_1</description>
+        <resource-env-ref-name>name_1</resource-env-ref-name>
+        <resource-env-ref-type>java.util.List</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_2</description>
+        <resource-env-ref-name>name_2</resource-env-ref-name>
+        <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_3</description>
+        <resource-env-ref-name>name_3</resource-env-ref-name>
+        <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_4</description>
+        <resource-env-ref-name>name_4</resource-env-ref-name>
+        <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-ref>
+        <description>description_0</description>
+        <res-ref-name>name_0</res-ref-name>
+        <res-type>type_0</res-type>
+        <res-auth>Container</res-auth>
+        <res-sharing-scope>Shareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_1</description>
+        <res-ref-name>name_1</res-ref-name>
+        <res-type>type_1</res-type>
+        <res-auth>Application</res-auth>
+        <res-sharing-scope>Unshareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_2</description>
+        <res-ref-name>name_2</res-ref-name>
+        <res-type>type_2</res-type>
+        <res-auth>Container</res-auth>
+        <res-sharing-scope>Shareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_3</description>
+        <res-ref-name>name_3</res-ref-name>
+        <res-type>type_3</res-type>
+        <res-auth>Application</res-auth>
+        <res-sharing-scope>Unshareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_4</description>
+        <res-ref-name>name_4</res-ref-name>
+        <res-type>type_4</res-type>
+        <res-auth>Container</res-auth>
+        <res-sharing-scope>Shareable</res-sharing-scope>
+    </resource-ref>
+    <security-constraint>
+        <display-name>displayName_0</display-name>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_0</web-resource-name>
+            <description>description_0</description>
+            <url-pattern>urlPattern_0</url-pattern>
+            <url-pattern>urlPattern_1</url-pattern>
+            <url-pattern>urlPattern_2</url-pattern>
+            <url-pattern>urlPattern_3</url-pattern>
+            <url-pattern>urlPattern_4</url-pattern>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_1</web-resource-name>
+            <description>description_1</description>
+            <url-pattern>urlPattern_5</url-pattern>
+            <url-pattern>urlPattern_6</url-pattern>
+            <url-pattern>urlPattern_7</url-pattern>
+            <url-pattern>urlPattern_8</url-pattern>
+            <url-pattern>urlPattern_9</url-pattern>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_2</web-resource-name>
+            <description>description_2</description>
+            <url-pattern>urlPattern_10</url-pattern>
+            <url-pattern>urlPattern_11</url-pattern>
+            <url-pattern>urlPattern_12</url-pattern>
+            <url-pattern>urlPattern_13</url-pattern>
+            <url-pattern>urlPattern_14</url-pattern>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_3</web-resource-name>
+            <description>description_3</description>
+            <url-pattern>urlPattern_15</url-pattern>
+            <url-pattern>urlPattern_16</url-pattern>
+            <url-pattern>urlPattern_17</url-pattern>
+            <url-pattern>urlPattern_18</url-pattern>
+            <url-pattern>urlPattern_19</url-pattern>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_4</web-resource-name>
+            <description>description_4</description>
+            <url-pattern>urlPattern_20</url-pattern>
+            <url-pattern>urlPattern_21</url-pattern>
+            <url-pattern>urlPattern_22</url-pattern>
+            <url-pattern>urlPattern_23</url-pattern>
+            <url-pattern>urlPattern_24</url-pattern>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+        </web-resource-collection>
+        <auth-constraint>
+            <description>description_0</description>
+            <role-name>roles_0</role-name>
+            <role-name>roles_1</role-name>
+            <role-name>roles_2</role-name>
+            <role-name>roles_3</role-name>
+            <role-name>roles_4</role-name>
+        </auth-constraint>
+        <user-data-constraint>
+            <description>description_0</description>
+            <transport-guarantee>NONE</transport-guarantee>
+        </user-data-constraint>
+    </security-constraint>
+    <security-constraint>
+        <display-name>displayName_1</display-name>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_5</web-resource-name>
+            <description>description_5</description>
+            <url-pattern>urlPattern_25</url-pattern>
+            <url-pattern>urlPattern_26</url-pattern>
+            <url-pattern>urlPattern_27</url-pattern>
+            <url-pattern>urlPattern_28</url-pattern>
+            <url-pattern>urlPattern_29</url-pattern>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_6</web-resource-name>
+            <description>description_6</description>
+            <url-pattern>urlPattern_30</url-pattern>
+            <url-pattern>urlPattern_31</url-pattern>
+            <url-pattern>urlPattern_32</url-pattern>
+            <url-pattern>urlPattern_33</url-pattern>
+            <url-pattern>urlPattern_34</url-pattern>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_7</web-resource-name>
+            <description>description_7</description>
+            <url-pattern>urlPattern_35</url-pattern>
+            <url-pattern>urlPattern_36</url-pattern>
+            <url-pattern>urlPattern_37</url-pattern>
+            <url-pattern>urlPattern_38</url-pattern>
+            <url-pattern>urlPattern_39</url-pattern>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_8</web-resource-name>
+            <description>description_8</description>
+            <url-pattern>urlPattern_40</url-pattern>
+            <url-pattern>urlPattern_41</url-pattern>
+            <url-pattern>urlPattern_42</url-pattern>
+            <url-pattern>urlPattern_43</url-pattern>
+            <url-pattern>urlPattern_44</url-pattern>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_9</web-resource-name>
+            <description>description_9</description>
+            <url-pattern>urlPattern_45</url-pattern>
+            <url-pattern>urlPattern_46</url-pattern>
+            <url-pattern>urlPattern_47</url-pattern>
+            <url-pattern>urlPattern_48</url-pattern>
+            <url-pattern>urlPattern_49</url-pattern>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+        </web-resource-collection>
+        <auth-constraint>
+            <description>description_1</description>
+            <role-name>roles_5</role-name>
+            <role-name>roles_6</role-name>
+            <role-name>roles_7</role-name>
+            <role-name>roles_8</role-name>
+            <role-name>roles_9</role-name>
+        </auth-constraint>
+        <user-data-constraint>
+            <description>description_1</description>
+            <transport-guarantee>INTEGRAL</transport-guarantee>
+        </user-data-constraint>
+    </security-constraint>
+    <security-constraint>
+        <display-name>displayName_2</display-name>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_10</web-resource-name>
+            <description>description_10</description>
+            <url-pattern>urlPattern_50</url-pattern>
+            <url-pattern>urlPattern_51</url-pattern>
+            <url-pattern>urlPattern_52</url-pattern>
+            <url-pattern>urlPattern_53</url-pattern>
+            <url-pattern>urlPattern_54</url-pattern>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_11</web-resource-name>
+            <description>description_11</description>
+            <url-pattern>urlPattern_55</url-pattern>
+            <url-pattern>urlPattern_56</url-pattern>
+            <url-pattern>urlPattern_57</url-pattern>
+            <url-pattern>urlPattern_58</url-pattern>
+            <url-pattern>urlPattern_59</url-pattern>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_12</web-resource-name>
+            <description>description_12</description>
+            <url-pattern>urlPattern_60</url-pattern>
+            <url-pattern>urlPattern_61</url-pattern>
+            <url-pattern>urlPattern_62</url-pattern>
+            <url-pattern>urlPattern_63</url-pattern>
+            <url-pattern>urlPattern_64</url-pattern>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_13</web-resource-name>
+            <description>description_13</description>
+            <url-pattern>urlPattern_65</url-pattern>
+            <url-pattern>urlPattern_66</url-pattern>
+            <url-pattern>urlPattern_67</url-pattern>
+            <url-pattern>urlPattern_68</url-pattern>
+            <url-pattern>urlPattern_69</url-pattern>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_14</web-resource-name>
+            <description>description_14</description>
+            <url-pattern>urlPattern_70</url-pattern>
+            <url-pattern>urlPattern_71</url-pattern>
+            <url-pattern>urlPattern_72</url-pattern>
+            <url-pattern>urlPattern_73</url-pattern>
+            <url-pattern>urlPattern_74</url-pattern>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+        </web-resource-collection>
+        <auth-constraint>
+            <description>description_2</description>
+            <role-name>roles_10</role-name>
+            <role-name>roles_11</role-name>
+            <role-name>roles_12</role-name>
+            <role-name>roles_13</role-name>
+            <role-name>roles_14</role-name>
+        </auth-constraint>
+        <user-data-constraint>
+            <description>description_2</description>
+            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+        </user-data-constraint>
+    </security-constraint>
+    <security-constraint>
+        <display-name>displayName_3</display-name>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_15</web-resource-name>
+            <description>description_15</description>
+            <url-pattern>urlPattern_75</url-pattern>
+            <url-pattern>urlPattern_76</url-pattern>
+            <url-pattern>urlPattern_77</url-pattern>
+            <url-pattern>urlPattern_78</url-pattern>
+            <url-pattern>urlPattern_79</url-pattern>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_16</web-resource-name>
+            <description>description_16</description>
+            <url-pattern>urlPattern_80</url-pattern>
+            <url-pattern>urlPattern_81</url-pattern>
+            <url-pattern>urlPattern_82</url-pattern>
+            <url-pattern>urlPattern_83</url-pattern>
+            <url-pattern>urlPattern_84</url-pattern>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_17</web-resource-name>
+            <description>description_17</description>
+            <url-pattern>urlPattern_85</url-pattern>
+            <url-pattern>urlPattern_86</url-pattern>
+            <url-pattern>urlPattern_87</url-pattern>
+            <url-pattern>urlPattern_88</url-pattern>
+            <url-pattern>urlPattern_89</url-pattern>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_18</web-resource-name>
+            <description>description_18</description>
+            <url-pattern>urlPattern_90</url-pattern>
+            <url-pattern>urlPattern_91</url-pattern>
+            <url-pattern>urlPattern_92</url-pattern>
+            <url-pattern>urlPattern_93</url-pattern>
+            <url-pattern>urlPattern_94</url-pattern>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_19</web-resource-name>
+            <description>description_19</description>
+            <url-pattern>urlPattern_95</url-pattern>
+            <url-pattern>urlPattern_96</url-pattern>
+            <url-pattern>urlPattern_97</url-pattern>
+            <url-pattern>urlPattern_98</url-pattern>
+            <url-pattern>urlPattern_99</url-pattern>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+        </web-resource-collection>
+        <auth-constraint>
+            <description>description_3</description>
+            <role-name>roles_15</role-name>
+            <role-name>roles_16</role-name>
+            <role-name>roles_17</role-name>
+            <role-name>roles_18</role-name>
+            <role-name>roles_19</role-name>
+        </auth-constraint>
+        <user-data-constraint>
+            <description>description_3</description>
+            <transport-guarantee>NONE</transport-guarantee>
+        </user-data-constraint>
+    </security-constraint>
+    <security-constraint>
+        <display-name>displayName_4</display-name>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_20</web-resource-name>
+            <description>description_20</description>
+            <url-pattern>urlPattern_100</url-pattern>
+            <url-pattern>urlPattern_101</url-pattern>
+            <url-pattern>urlPattern_102</url-pattern>
+            <url-pattern>urlPattern_103</url-pattern>
+            <url-pattern>urlPattern_104</url-pattern>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_21</web-resource-name>
+            <description>description_21</description>
+            <url-pattern>urlPattern_105</url-pattern>
+            <url-pattern>urlPattern_106</url-pattern>
+            <url-pattern>urlPattern_107</url-pattern>
+            <url-pattern>urlPattern_108</url-pattern>
+            <url-pattern>urlPattern_109</url-pattern>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_22</web-resource-name>
+            <description>description_22</description>
+            <url-pattern>urlPattern_110</url-pattern>
+            <url-pattern>urlPattern_111</url-pattern>
+            <url-pattern>urlPattern_112</url-pattern>
+            <url-pattern>urlPattern_113</url-pattern>
+            <url-pattern>urlPattern_114</url-pattern>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_23</web-resource-name>
+            <description>description_23</description>
+            <url-pattern>urlPattern_115</url-pattern>
+            <url-pattern>urlPattern_116</url-pattern>
+            <url-pattern>urlPattern_117</url-pattern>
+            <url-pattern>urlPattern_118</url-pattern>
+            <url-pattern>urlPattern_119</url-pattern>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+        </web-resource-collection>
+        <web-resource-collection>
+            <web-resource-name>webResourceName_24</web-resource-name>
+            <description>description_24</description>
+            <url-pattern>urlPattern_120</url-pattern>
+            <url-pattern>urlPattern_121</url-pattern>
+            <url-pattern>urlPattern_122</url-pattern>
+            <url-pattern>urlPattern_123</url-pattern>
+            <url-pattern>urlPattern_124</url-pattern>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+        </web-resource-collection>
+        <auth-constraint>
+            <description>description_4</description>
+            <role-name>roles_20</role-name>
+            <role-name>roles_21</role-name>
+            <role-name>roles_22</role-name>
+            <role-name>roles_23</role-name>
+            <role-name>roles_24</role-name>
+        </auth-constraint>
+        <user-data-constraint>
+            <description>description_4</description>
+            <transport-guarantee>INTEGRAL</transport-guarantee>
+        </user-data-constraint>
+    </security-constraint>
+    <login-config>
+        <auth-method>BASIC</auth-method>
+        <realm-name>realmName_0</realm-name>
+        <form-login-config>
+            <form-login-page>formLoginPage_0</form-login-page>
+            <form-error-page>formErrorPage_0</form-error-page>
+        </form-login-config>
+    </login-config>
+    <security-role>
+        <description>description_0</description>
+        <role-name>roleName_0</role-name>
+    </security-role>
+    <security-role>
+        <description>description_1</description>
+        <role-name>roleName_1</role-name>
+    </security-role>
+    <security-role>
+        <description>description_2</description>
+        <role-name>roleName_2</role-name>
+    </security-role>
+    <security-role>
+        <description>description_3</description>
+        <role-name>roleName_3</role-name>
+    </security-role>
+    <security-role>
+        <description>description_4</description>
+        <role-name>roleName_4</role-name>
+    </security-role>
+    <env-entry>
+        <description>description_0</description>
+        <env-entry-name>name_0</env-entry-name>
+        <env-entry-value>value_0</env-entry-value>
+        <env-entry-type>java.lang.String</env-entry-type>
+    </env-entry>
+    <env-entry>
+        <description>description_1</description>
+        <env-entry-name>name_1</env-entry-name>
+        <env-entry-value>value_1</env-entry-value>
+        <env-entry-type>java.lang.Integer</env-entry-type>
+    </env-entry>
+    <env-entry>
+        <description>description_2</description>
+        <env-entry-name>name_2</env-entry-name>
+        <env-entry-value>value_2</env-entry-value>
+        <env-entry-type>java.lang.Boolean</env-entry-type>
+    </env-entry>
+    <env-entry>
+        <description>description_3</description>
+        <env-entry-name>name_3</env-entry-name>
+        <env-entry-value>value_3</env-entry-value>
+        <env-entry-type>java.lang.Double</env-entry-type>
+    </env-entry>
+    <env-entry>
+        <description>description_4</description>
+        <env-entry-name>name_4</env-entry-name>
+        <env-entry-value>value_4</env-entry-value>
+        <env-entry-type>java.lang.Byte</env-entry-type>
+    </env-entry>
+    <ejb-ref>
+        <description>description_0</description>
+        <ejb-ref-name>name_0</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <home>home_0</home>
+        <remote>remote_0</remote>
+        <ejb-link>link_0</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_1</description>
+        <ejb-ref-name>name_1</ejb-ref-name>
+        <ejb-ref-type>Entity</ejb-ref-type>
+        <home>home_1</home>
+        <remote>remote_1</remote>
+        <ejb-link>link_1</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_2</description>
+        <ejb-ref-name>name_2</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <home>home_2</home>
+        <remote>remote_2</remote>
+        <ejb-link>link_2</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_3</description>
+        <ejb-ref-name>name_3</ejb-ref-name>
+        <ejb-ref-type>Entity</ejb-ref-type>
+        <home>home_3</home>
+        <remote>remote_3</remote>
+        <ejb-link>link_3</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_4</description>
+        <ejb-ref-name>name_4</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <home>home_4</home>
+        <remote>remote_4</remote>
+        <ejb-link>link_4</ejb-link>
+    </ejb-ref>
+    <ejb-local-ref>
+        <description>description_0</description>
+        <ejb-ref-name>name_0</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local-home>home_0</local-home>
+        <local>remote_0</local>
+        <ejb-link>link_0</ejb-link>
+    </ejb-local-ref>
+    <ejb-local-ref>
+        <description>description_1</description>
+        <ejb-ref-name>name_1</ejb-ref-name>
+        <ejb-ref-type>Entity</ejb-ref-type>
+        <local-home>home_1</local-home>
+        <local>remote_1</local>
+        <ejb-link>link_1</ejb-link>
+    </ejb-local-ref>
+    <ejb-local-ref>
+        <description>description_2</description>
+        <ejb-ref-name>name_2</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local-home>home_2</local-home>
+        <local>remote_2</local>
+        <ejb-link>link_2</ejb-link>
+    </ejb-local-ref>
+    <ejb-local-ref>
+        <description>description_3</description>
+        <ejb-ref-name>name_3</ejb-ref-name>
+        <ejb-ref-type>Entity</ejb-ref-type>
+        <local-home>home_3</local-home>
+        <local>remote_3</local>
+        <ejb-link>link_3</ejb-link>
+    </ejb-local-ref>
+    <ejb-local-ref>
+        <description>description_4</description>
+        <ejb-ref-name>name_4</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <local-home>home_4</local-home>
+        <local>remote_4</local>
+        <ejb-link>link_4</ejb-link>
+    </ejb-local-ref>
+</web-app>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/application-client.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/application-client.xml
new file mode 100644
index 0000000..325960c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/application-client.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE application-client PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN" "http://java.sun.com/dtd/application-client_1_3.dtd">
+
+   <application-client id="Application-client_ID">
+      <icon>
+         <small-icon>smallIcon_0</small-icon>
+         <large-icon>largeIcon_0</large-icon>
+      </icon>
+      <display-name>displayName_0</display-name>
+      <description>description_0</description>
+      <env-entry id="EnvEntry_1051639763239">
+         <description>description_0</description>
+         <env-entry-name>name_0</env-entry-name>
+         <env-entry-type>java.lang.String</env-entry-type>
+         <env-entry-value>value_0</env-entry-value>
+      </env-entry>
+      <env-entry id="EnvEntry_1051639763240">
+         <description>description_1</description>
+         <env-entry-name>name_1</env-entry-name>
+         <env-entry-type>java.lang.Integer</env-entry-type>
+         <env-entry-value>value_1</env-entry-value>
+      </env-entry>
+      <env-entry id="EnvEntry_1051639763241">
+         <description>description_2</description>
+         <env-entry-name>name_2</env-entry-name>
+         <env-entry-type>java.lang.Boolean</env-entry-type>
+         <env-entry-value>value_2</env-entry-value>
+      </env-entry>
+      <env-entry id="EnvEntry_1051639763259">
+         <description>description_3</description>
+         <env-entry-name>name_3</env-entry-name>
+         <env-entry-type>java.lang.Double</env-entry-type>
+         <env-entry-value>value_3</env-entry-value>
+      </env-entry>
+      <env-entry id="EnvEntry_1051639763260">
+         <description>description_4</description>
+         <env-entry-name>name_4</env-entry-name>
+         <env-entry-type>java.lang.Byte</env-entry-type>
+         <env-entry-value>value_4</env-entry-value>
+      </env-entry>
+      <ejb-ref id="EjbRef_1051639763279">
+         <description>description_0</description>
+         <ejb-ref-name>name_0</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <home>home_0</home>
+         <remote>remote_0</remote>
+         <ejb-link>link_0</ejb-link>
+      </ejb-ref>
+      <ejb-ref id="EjbRef_1051639763280">
+         <description>description_1</description>
+         <ejb-ref-name>name_1</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <home>home_1</home>
+         <remote>remote_1</remote>
+         <ejb-link>link_1</ejb-link>
+      </ejb-ref>
+      <ejb-ref id="EjbRef_1051639763281">
+         <description>description_2</description>
+         <ejb-ref-name>name_2</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <home>home_2</home>
+         <remote>remote_2</remote>
+         <ejb-link>link_2</ejb-link>
+      </ejb-ref>
+      <ejb-ref id="EjbRef_1051639763282">
+         <description>description_3</description>
+         <ejb-ref-name>name_3</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <home>home_3</home>
+         <remote>remote_3</remote>
+         <ejb-link>link_3</ejb-link>
+      </ejb-ref>
+      <ejb-ref id="EjbRef_1051639763283">
+         <description>description_4</description>
+         <ejb-ref-name>name_4</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <home>home_4</home>
+         <remote>remote_4</remote>
+         <ejb-link>link_4</ejb-link>
+      </ejb-ref>
+      <resource-ref id="ResourceRef_1051639763299">
+         <description>description_0</description>
+         <res-ref-name>name_0</res-ref-name>
+         <res-type>type_0</res-type>
+         <res-auth>Container</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref id="ResourceRef_1051639763300">
+         <description>description_1</description>
+         <res-ref-name>name_1</res-ref-name>
+         <res-type>type_1</res-type>
+         <res-auth>Application</res-auth>
+         <res-sharing-scope>Unshareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref id="ResourceRef_1051639763301">
+         <description>description_2</description>
+         <res-ref-name>name_2</res-ref-name>
+         <res-type>type_2</res-type>
+         <res-auth>Container</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref id="ResourceRef_1051639763302">
+         <description>description_3</description>
+         <res-ref-name>name_3</res-ref-name>
+         <res-type>type_3</res-type>
+         <res-auth>Application</res-auth>
+         <res-sharing-scope>Unshareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref id="ResourceRef_1051639763303">
+         <description>description_4</description>
+         <res-ref-name>name_4</res-ref-name>
+         <res-type>type_4</res-type>
+         <res-auth>Container</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <resource-env-ref id="ResourceEnvRef_1051639763319">
+         <description>description_0</description>
+         <resource-env-ref-name>name_0</resource-env-ref-name>
+         <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref id="ResourceEnvRef_1051639763349">
+         <description>description_1</description>
+         <resource-env-ref-name>name_1</resource-env-ref-name>
+         <resource-env-ref-type>java.util.List</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref id="ResourceEnvRef_1051639763350">
+         <description>description_2</description>
+         <resource-env-ref-name>name_2</resource-env-ref-name>
+         <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref id="ResourceEnvRef_1051639763351">
+         <description>description_3</description>
+         <resource-env-ref-name>name_3</resource-env-ref-name>
+         <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref id="ResourceEnvRef_1051639763352">
+         <description>description_4</description>
+         <resource-env-ref-name>name_4</resource-env-ref-name>
+         <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+      </resource-env-ref>
+      <callback-handler>java.util.HashTable</callback-handler>
+   </application-client>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/application.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/application.xml
new file mode 100644
index 0000000..faf46bd
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/application.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" "http://java.sun.com/dtd/application_1_3.dtd">
+
+   <application id="Application_ID">
+      <icon>
+         <small-icon>smallIcon_0</small-icon>
+         <large-icon>largeIcon_0</large-icon>
+      </icon>
+      <display-name>displayName_0</display-name>
+      <description>description_0</description>
+      <module id="JavaClientModule_1051639778160">
+         <java>uri_0</java>
+         <alt-dd>altDD_0</alt-dd>
+      </module>
+      <module id="EjbModule_1051639778160">
+         <ejb>uri_1</ejb>
+         <alt-dd>altDD_1</alt-dd>
+      </module>
+      <module id="WebModule_1051639778160">
+         <web>
+            <web-uri>uri_2</web-uri>
+            <context-root>contextRoot_0</context-root>
+         </web>
+         <alt-dd>altDD_2</alt-dd>
+      </module>
+      <module id="ConnectorModule_1051639778160">
+         <connector>uri_3</connector>
+         <alt-dd>altDD_3</alt-dd>
+      </module>
+      <module id="JavaClientModule_1051639778161">
+         <java>uri_4</java>
+         <alt-dd>altDD_4</alt-dd>
+      </module>
+      <security-role id="SecurityRole_1051639778170">
+         <description>description_0</description>
+         <role-name>roleName_0</role-name>
+      </security-role>
+      <security-role id="SecurityRole_1051639778190">
+         <description>description_1</description>
+         <role-name>roleName_1</role-name>
+      </security-role>
+      <security-role id="SecurityRole_1051639778191">
+         <description>description_2</description>
+         <role-name>roleName_2</role-name>
+      </security-role>
+      <security-role id="SecurityRole_1051639778192">
+         <description>description_3</description>
+         <role-name>roleName_3</role-name>
+      </security-role>
+      <security-role id="SecurityRole_1051639778193">
+         <description>description_4</description>
+         <role-name>roleName_4</role-name>
+      </security-role>
+   </application>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar.xml
new file mode 100644
index 0000000..e875eae
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar.xml
@@ -0,0 +1,1864 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
+
+   <ejb-jar id="ejb-jar_ID">
+      <description>description_0</description>
+      <display-name>displayName_0</display-name>
+      <small-icon>smallIcon_0</small-icon>
+      <large-icon>largeIcon_0</large-icon>
+      <enterprise-beans>
+         <entity id="Entity_1051639788645">
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.sql.Data</remote>
+            <local-home>java.lang.Integer</local-home>
+            <local>java.lang.String</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry id="EnvEntry_1051639788695">
+               <description>description_0</description>
+               <env-entry-name>name_0</env-entry-name>
+               <env-entry-type>java.lang.String</env-entry-type>
+               <env-entry-value>value_0</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788705">
+               <description>description_1</description>
+               <env-entry-name>name_1</env-entry-name>
+               <env-entry-type>java.lang.Integer</env-entry-type>
+               <env-entry-value>value_1</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788706">
+               <description>description_2</description>
+               <env-entry-name>name_2</env-entry-name>
+               <env-entry-type>java.lang.Boolean</env-entry-type>
+               <env-entry-value>value_2</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788707">
+               <description>description_3</description>
+               <env-entry-name>name_3</env-entry-name>
+               <env-entry-type>java.lang.Double</env-entry-type>
+               <env-entry-value>value_3</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788715">
+               <description>description_4</description>
+               <env-entry-name>name_4</env-entry-name>
+               <env-entry-type>java.lang.Byte</env-entry-type>
+               <env-entry-value>value_4</env-entry-value>
+            </env-entry>
+            <ejb-ref id="EjbRef_1051639788725">
+               <description>description_0</description>
+               <ejb-ref-name>name_0</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_0</home>
+               <remote>remote_0</remote>
+               <ejb-link>link_0</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788726">
+               <description>description_1</description>
+               <ejb-ref-name>name_1</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_1</home>
+               <remote>remote_1</remote>
+               <ejb-link>link_1</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788727">
+               <description>description_2</description>
+               <ejb-ref-name>name_2</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_2</home>
+               <remote>remote_2</remote>
+               <ejb-link>link_2</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788728">
+               <description>description_3</description>
+               <ejb-ref-name>name_3</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_3</home>
+               <remote>remote_3</remote>
+               <ejb-link>link_3</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788729">
+               <description>description_4</description>
+               <ejb-ref-name>name_4</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_4</home>
+               <remote>remote_4</remote>
+               <ejb-link>link_4</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788745">
+               <description>description_5</description>
+               <ejb-ref-name>name_5</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_5</local-home>
+               <local>remote_5</local>
+               <ejb-link>link_5</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788746">
+               <description>description_6</description>
+               <ejb-ref-name>name_6</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_6</local-home>
+               <local>remote_6</local>
+               <ejb-link>link_6</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788747">
+               <description>description_7</description>
+               <ejb-ref-name>name_7</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_7</local-home>
+               <local>remote_7</local>
+               <ejb-link>link_7</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788748">
+               <description>description_8</description>
+               <ejb-ref-name>name_8</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_8</local-home>
+               <local>remote_8</local>
+               <ejb-link>link_8</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788749">
+               <description>description_9</description>
+               <ejb-ref-name>name_9</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_9</local-home>
+               <local>remote_9</local>
+               <ejb-link>link_9</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788775">
+               <description>description_0</description>
+               <role-name>name_0</role-name>
+               <role-link>link_0</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788776">
+               <description>description_1</description>
+               <role-name>name_1</role-name>
+               <role-link>link_1</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788777">
+               <description>description_2</description>
+               <role-name>name_2</role-name>
+               <role-link>link_2</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788778">
+               <description>description_3</description>
+               <role-name>name_3</role-name>
+               <role-link>link_3</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788779">
+               <description>description_4</description>
+               <role-name>name_4</role-name>
+               <role-link>link_4</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_0</description>
+               <run-as id="RunAsSpecifiedIdentity_1051639788775">
+                  <description>description_0</description>
+                  <role-name>roleName_0</role-name>
+               </run-as>
+            </security-identity>
+            <resource-ref id="ResourceRef_1051639788785">
+               <description>description_0</description>
+               <res-ref-name>name_0</res-ref-name>
+               <res-type>type_0</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788786">
+               <description>description_1</description>
+               <res-ref-name>name_1</res-ref-name>
+               <res-type>type_1</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788787">
+               <description>description_2</description>
+               <res-ref-name>name_2</res-ref-name>
+               <res-type>type_2</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788788">
+               <description>description_3</description>
+               <res-ref-name>name_3</res-ref-name>
+               <res-type>type_3</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788795">
+               <description>description_4</description>
+               <res-ref-name>name_4</res-ref-name>
+               <res-type>type_4</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788805">
+               <description>description_0</description>
+               <resource-env-ref-name>name_0</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788806">
+               <description>description_1</description>
+               <resource-env-ref-name>name_1</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788807">
+               <description>description_2</description>
+               <resource-env-ref-name>name_2</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788808">
+               <description>description_3</description>
+               <resource-env-ref-name>name_3</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788809">
+               <description>description_4</description>
+               <resource-env-ref-name>name_4</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+         </entity>
+         <entity id="Entity_1051639788805">
+            <description>description_1</description>
+            <display-name>displayName_1</display-name>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+            <ejb-name>name_1</ejb-name>
+            <home>java.sql.Data</home>
+            <remote>java.lang.Integer</remote>
+            <local-home>java.lang.String</local-home>
+            <local>java.util.HashTable</local>
+            <ejb-class>java.util.List</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.List</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry id="EnvEntry_1051639788805">
+               <description>description_5</description>
+               <env-entry-name>name_5</env-entry-name>
+               <env-entry-type>java.lang.Short</env-entry-type>
+               <env-entry-value>value_5</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788815">
+               <description>description_6</description>
+               <env-entry-name>name_6</env-entry-name>
+               <env-entry-type>java.lang.Long</env-entry-type>
+               <env-entry-value>value_6</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788816">
+               <description>description_7</description>
+               <env-entry-name>name_7</env-entry-name>
+               <env-entry-type>java.lang.Float</env-entry-type>
+               <env-entry-value>value_7</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788817">
+               <description>description_8</description>
+               <env-entry-name>name_8</env-entry-name>
+               <env-entry-type>java.lang.Character</env-entry-type>
+               <env-entry-value>value_8</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788818">
+               <description>description_9</description>
+               <env-entry-name>name_9</env-entry-name>
+               <env-entry-type>java.lang.String</env-entry-type>
+               <env-entry-value>value_9</env-entry-value>
+            </env-entry>
+            <ejb-ref id="EjbRef_1051639788815">
+               <description>description_10</description>
+               <ejb-ref-name>name_10</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_10</home>
+               <remote>remote_10</remote>
+               <ejb-link>link_10</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788816">
+               <description>description_11</description>
+               <ejb-ref-name>name_11</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_11</home>
+               <remote>remote_11</remote>
+               <ejb-link>link_11</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788817">
+               <description>description_12</description>
+               <ejb-ref-name>name_12</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_12</home>
+               <remote>remote_12</remote>
+               <ejb-link>link_12</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788818">
+               <description>description_13</description>
+               <ejb-ref-name>name_13</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_13</home>
+               <remote>remote_13</remote>
+               <ejb-link>link_13</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788819">
+               <description>description_14</description>
+               <ejb-ref-name>name_14</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_14</home>
+               <remote>remote_14</remote>
+               <ejb-link>link_14</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788815">
+               <description>description_15</description>
+               <ejb-ref-name>name_15</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_15</local-home>
+               <local>remote_15</local>
+               <ejb-link>link_15</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788816">
+               <description>description_16</description>
+               <ejb-ref-name>name_16</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_16</local-home>
+               <local>remote_16</local>
+               <ejb-link>link_16</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788817">
+               <description>description_17</description>
+               <ejb-ref-name>name_17</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_17</local-home>
+               <local>remote_17</local>
+               <ejb-link>link_17</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788818">
+               <description>description_18</description>
+               <ejb-ref-name>name_18</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_18</local-home>
+               <local>remote_18</local>
+               <ejb-link>link_18</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788819">
+               <description>description_19</description>
+               <ejb-ref-name>name_19</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_19</local-home>
+               <local>remote_19</local>
+               <ejb-link>link_19</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788825">
+               <description>description_5</description>
+               <role-name>name_5</role-name>
+               <role-link>link_5</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788826">
+               <description>description_6</description>
+               <role-name>name_6</role-name>
+               <role-link>link_6</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788827">
+               <description>description_7</description>
+               <role-name>name_7</role-name>
+               <role-link>link_7</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788828">
+               <description>description_8</description>
+               <role-name>name_8</role-name>
+               <role-link>link_8</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788829">
+               <description>description_9</description>
+               <role-name>name_9</role-name>
+               <role-link>link_9</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_1</description>
+               <use-caller-identity id="UseCallerIdentity_1051639788825"></use-caller-identity>
+            </security-identity>
+            <resource-ref id="ResourceRef_1051639788825">
+               <description>description_5</description>
+               <res-ref-name>name_5</res-ref-name>
+               <res-type>type_5</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788826">
+               <description>description_6</description>
+               <res-ref-name>name_6</res-ref-name>
+               <res-type>type_6</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788827">
+               <description>description_7</description>
+               <res-ref-name>name_7</res-ref-name>
+               <res-type>type_7</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788828">
+               <description>description_8</description>
+               <res-ref-name>name_8</res-ref-name>
+               <res-type>type_8</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788829">
+               <description>description_9</description>
+               <res-ref-name>name_9</res-ref-name>
+               <res-type>type_9</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788825">
+               <description>description_5</description>
+               <resource-env-ref-name>name_5</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788826">
+               <description>description_6</description>
+               <resource-env-ref-name>name_6</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788827">
+               <description>description_7</description>
+               <resource-env-ref-name>name_7</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788828">
+               <description>description_8</description>
+               <resource-env-ref-name>name_8</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788829">
+               <description>description_9</description>
+               <resource-env-ref-name>name_9</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+         </entity>
+         <entity id="ContainerManagedEntity_1051639788825">
+            <description>description_2</description>
+            <display-name>displayName_2</display-name>
+            <small-icon>smallIcon_2</small-icon>
+            <large-icon>largeIcon_2</large-icon>
+            <ejb-name>name_2</ejb-name>
+            <home>java.lang.Integer</home>
+            <remote>java.lang.String</remote>
+            <local-home>java.util.HashTable</local-home>
+            <local>java.util.List</local>
+            <ejb-class>java.sql.Data</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.sql.Data</prim-key-class>
+            <reentrant>True</reentrant>
+            <cmp-version>2.0</cmp-version>
+            <abstract-schema-name>abstractSchemaName_0</abstract-schema-name>
+            <cmp-field id="CMPAttribute_1051639788845">
+               <field-name>name_3</field-name>
+            </cmp-field>
+            <cmp-field id="CMPAttribute_1051639788846">
+               <field-name>name_4</field-name>
+            </cmp-field>
+            <cmp-field id="CMPAttribute_1051639788847">
+               <field-name>name_5</field-name>
+            </cmp-field>
+            <cmp-field id="CMPAttribute_1051639788848">
+               <field-name>name_6</field-name>
+            </cmp-field>
+            <cmp-field id="CMPAttribute_1051639788849">
+               <field-name>name_7</field-name>
+            </cmp-field>
+            <env-entry id="EnvEntry_1051639788885">
+               <description>description_10</description>
+               <env-entry-name>name_10</env-entry-name>
+               <env-entry-type>java.lang.Integer</env-entry-type>
+               <env-entry-value>value_10</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788886">
+               <description>description_11</description>
+               <env-entry-name>name_11</env-entry-name>
+               <env-entry-type>java.lang.Boolean</env-entry-type>
+               <env-entry-value>value_11</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788887">
+               <description>description_12</description>
+               <env-entry-name>name_12</env-entry-name>
+               <env-entry-type>java.lang.Double</env-entry-type>
+               <env-entry-value>value_12</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788888">
+               <description>description_13</description>
+               <env-entry-name>name_13</env-entry-name>
+               <env-entry-type>java.lang.Byte</env-entry-type>
+               <env-entry-value>value_13</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788889">
+               <description>description_14</description>
+               <env-entry-name>name_14</env-entry-name>
+               <env-entry-type>java.lang.Short</env-entry-type>
+               <env-entry-value>value_14</env-entry-value>
+            </env-entry>
+            <ejb-ref id="EjbRef_1051639788885">
+               <description>description_20</description>
+               <ejb-ref-name>name_20</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_20</home>
+               <remote>remote_20</remote>
+               <ejb-link>link_20</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788886">
+               <description>description_21</description>
+               <ejb-ref-name>name_21</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_21</home>
+               <remote>remote_21</remote>
+               <ejb-link>link_21</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788887">
+               <description>description_22</description>
+               <ejb-ref-name>name_22</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_22</home>
+               <remote>remote_22</remote>
+               <ejb-link>link_22</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788888">
+               <description>description_23</description>
+               <ejb-ref-name>name_23</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_23</home>
+               <remote>remote_23</remote>
+               <ejb-link>link_23</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788889">
+               <description>description_24</description>
+               <ejb-ref-name>name_24</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_24</home>
+               <remote>remote_24</remote>
+               <ejb-link>link_24</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788895">
+               <description>description_25</description>
+               <ejb-ref-name>name_25</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_25</local-home>
+               <local>remote_25</local>
+               <ejb-link>link_25</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788896">
+               <description>description_26</description>
+               <ejb-ref-name>name_26</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_26</local-home>
+               <local>remote_26</local>
+               <ejb-link>link_26</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788897">
+               <description>description_27</description>
+               <ejb-ref-name>name_27</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_27</local-home>
+               <local>remote_27</local>
+               <ejb-link>link_27</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788898">
+               <description>description_28</description>
+               <ejb-ref-name>name_28</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_28</local-home>
+               <local>remote_28</local>
+               <ejb-link>link_28</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788899">
+               <description>description_29</description>
+               <ejb-ref-name>name_29</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_29</local-home>
+               <local>remote_29</local>
+               <ejb-link>link_29</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788895">
+               <description>description_10</description>
+               <role-name>name_10</role-name>
+               <role-link>link_10</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788896">
+               <description>description_11</description>
+               <role-name>name_11</role-name>
+               <role-link>link_11</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788897">
+               <description>description_12</description>
+               <role-name>name_12</role-name>
+               <role-link>link_12</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788898">
+               <description>description_13</description>
+               <role-name>name_13</role-name>
+               <role-link>link_13</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788899">
+               <description>description_14</description>
+               <role-name>name_14</role-name>
+               <role-link>link_14</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_2</description>
+               <run-as id="RunAsSpecifiedIdentity_1051639788895">
+                  <description>description_1</description>
+                  <role-name>roleName_1</role-name>
+               </run-as>
+            </security-identity>
+            <resource-ref id="ResourceRef_1051639788895">
+               <description>description_10</description>
+               <res-ref-name>name_10</res-ref-name>
+               <res-type>type_10</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788896">
+               <description>description_11</description>
+               <res-ref-name>name_11</res-ref-name>
+               <res-type>type_11</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788897">
+               <description>description_12</description>
+               <res-ref-name>name_12</res-ref-name>
+               <res-type>type_12</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788898">
+               <description>description_13</description>
+               <res-ref-name>name_13</res-ref-name>
+               <res-type>type_13</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788905">
+               <description>description_14</description>
+               <res-ref-name>name_14</res-ref-name>
+               <res-type>type_14</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788905">
+               <description>description_10</description>
+               <resource-env-ref-name>name_10</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788906">
+               <description>description_11</description>
+               <resource-env-ref-name>name_11</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788907">
+               <description>description_12</description>
+               <resource-env-ref-name>name_12</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788908">
+               <description>description_13</description>
+               <resource-env-ref-name>name_13</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788909">
+               <description>description_14</description>
+               <resource-env-ref-name>name_14</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <query id="Query_1051639788936">
+               <description>description_0</description>
+               <query-method id="QueryMethod_1051639788936">
+                  <method-name>name_55</method-name>
+                  <method-params>
+                  </method-params>
+               </query-method>
+               <result-type-mapping>Remote</result-type-mapping>
+               <ejb-ql>ejbQL_0</ejb-ql>
+            </query>
+            <query id="Query_1051639788937">
+               <description>description_1</description>
+               <query-method id="QueryMethod_1051639788937">
+                  <method-name>name_56</method-name>
+                  <method-params>
+                     <method-param>parms_66</method-param>
+                  </method-params>
+               </query-method>
+               <result-type-mapping>Local</result-type-mapping>
+               <ejb-ql>ejbQL_1</ejb-ql>
+            </query>
+            <query id="Query_1051639788938">
+               <description>description_2</description>
+               <query-method id="QueryMethod_1051639788938">
+                  <method-name>name_57</method-name>
+                  <method-params>
+                     <method-param>parms_67</method-param>
+                     <method-param>parms_68</method-param>
+                  </method-params>
+               </query-method>
+               <result-type-mapping>Remote</result-type-mapping>
+               <ejb-ql>ejbQL_2</ejb-ql>
+            </query>
+            <query id="Query_1051639788939">
+               <description>description_3</description>
+               <query-method id="QueryMethod_1051639788939">
+                  <method-name>name_58</method-name>
+                  <method-params>
+                     <method-param>parms_69</method-param>
+                     <method-param>parms_70</method-param>
+                     <method-param>parms_71</method-param>
+                  </method-params>
+               </query-method>
+               <result-type-mapping>Local</result-type-mapping>
+               <ejb-ql>ejbQL_3</ejb-ql>
+            </query>
+            <query id="Query_1051639788940">
+               <description>description_4</description>
+               <query-method id="QueryMethod_1051639788940">
+                  <method-name>name_59</method-name>
+                  <method-params>
+                  </method-params>
+               </query-method>
+               <result-type-mapping>Remote</result-type-mapping>
+               <ejb-ql>ejbQL_4</ejb-ql>
+            </query>
+         </entity>
+         <session id="Session_1051639788946">
+            <description>description_3</description>
+            <display-name>displayName_3</display-name>
+            <small-icon>smallIcon_3</small-icon>
+            <large-icon>largeIcon_3</large-icon>
+            <ejb-name>name_8</ejb-name>
+            <home>java.lang.String</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.List</local-home>
+            <local>java.sql.Data</local>
+            <ejb-class>java.lang.Integer</ejb-class>
+            <session-type>Stateful</session-type>
+            <transaction-type>Bean</transaction-type>
+            <env-entry id="EnvEntry_1051639788946">
+               <description>description_15</description>
+               <env-entry-name>name_15</env-entry-name>
+               <env-entry-type>java.lang.Long</env-entry-type>
+               <env-entry-value>value_15</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788947">
+               <description>description_16</description>
+               <env-entry-name>name_16</env-entry-name>
+               <env-entry-type>java.lang.Float</env-entry-type>
+               <env-entry-value>value_16</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788948">
+               <description>description_17</description>
+               <env-entry-name>name_17</env-entry-name>
+               <env-entry-type>java.lang.Character</env-entry-type>
+               <env-entry-value>value_17</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788949">
+               <description>description_18</description>
+               <env-entry-name>name_18</env-entry-name>
+               <env-entry-type>java.lang.String</env-entry-type>
+               <env-entry-value>value_18</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788950">
+               <description>description_19</description>
+               <env-entry-name>name_19</env-entry-name>
+               <env-entry-type>java.lang.Integer</env-entry-type>
+               <env-entry-value>value_19</env-entry-value>
+            </env-entry>
+            <ejb-ref id="EjbRef_1051639788946">
+               <description>description_30</description>
+               <ejb-ref-name>name_30</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_30</home>
+               <remote>remote_30</remote>
+               <ejb-link>link_30</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788947">
+               <description>description_31</description>
+               <ejb-ref-name>name_31</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_31</home>
+               <remote>remote_31</remote>
+               <ejb-link>link_31</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788948">
+               <description>description_32</description>
+               <ejb-ref-name>name_32</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_32</home>
+               <remote>remote_32</remote>
+               <ejb-link>link_32</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788949">
+               <description>description_33</description>
+               <ejb-ref-name>name_33</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_33</home>
+               <remote>remote_33</remote>
+               <ejb-link>link_33</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788950">
+               <description>description_34</description>
+               <ejb-ref-name>name_34</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_34</home>
+               <remote>remote_34</remote>
+               <ejb-link>link_34</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788946">
+               <description>description_35</description>
+               <ejb-ref-name>name_35</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_35</local-home>
+               <local>remote_35</local>
+               <ejb-link>link_35</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788947">
+               <description>description_36</description>
+               <ejb-ref-name>name_36</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_36</local-home>
+               <local>remote_36</local>
+               <ejb-link>link_36</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788948">
+               <description>description_37</description>
+               <ejb-ref-name>name_37</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_37</local-home>
+               <local>remote_37</local>
+               <ejb-link>link_37</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788949">
+               <description>description_38</description>
+               <ejb-ref-name>name_38</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_38</local-home>
+               <local>remote_38</local>
+               <ejb-link>link_38</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788950">
+               <description>description_39</description>
+               <ejb-ref-name>name_39</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_39</local-home>
+               <local>remote_39</local>
+               <ejb-link>link_39</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788946">
+               <description>description_15</description>
+               <role-name>name_15</role-name>
+               <role-link>link_15</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788947">
+               <description>description_16</description>
+               <role-name>name_16</role-name>
+               <role-link>link_16</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788948">
+               <description>description_17</description>
+               <role-name>name_17</role-name>
+               <role-link>link_17</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788949">
+               <description>description_18</description>
+               <role-name>name_18</role-name>
+               <role-link>link_18</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788950">
+               <description>description_19</description>
+               <role-name>name_19</role-name>
+               <role-link>link_19</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_3</description>
+               <use-caller-identity id="UseCallerIdentity_1051639788946"></use-caller-identity>
+            </security-identity>
+            <resource-ref id="ResourceRef_1051639788946">
+               <description>description_15</description>
+               <res-ref-name>name_15</res-ref-name>
+               <res-type>type_15</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788947">
+               <description>description_16</description>
+               <res-ref-name>name_16</res-ref-name>
+               <res-type>type_16</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788948">
+               <description>description_17</description>
+               <res-ref-name>name_17</res-ref-name>
+               <res-type>type_17</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788949">
+               <description>description_18</description>
+               <res-ref-name>name_18</res-ref-name>
+               <res-type>type_18</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788956">
+               <description>description_19</description>
+               <res-ref-name>name_19</res-ref-name>
+               <res-type>type_19</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788956">
+               <description>description_15</description>
+               <resource-env-ref-name>name_15</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788957">
+               <description>description_16</description>
+               <resource-env-ref-name>name_16</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788958">
+               <description>description_17</description>
+               <resource-env-ref-name>name_17</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788959">
+               <description>description_18</description>
+               <resource-env-ref-name>name_18</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788960">
+               <description>description_19</description>
+               <resource-env-ref-name>name_19</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+         </session>
+         <entity id="Entity_1051639788956">
+            <description>description_4</description>
+            <display-name>displayName_4</display-name>
+            <small-icon>smallIcon_4</small-icon>
+            <large-icon>largeIcon_4</large-icon>
+            <ejb-name>name_9</ejb-name>
+            <home>java.lang.String</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.List</local-home>
+            <local>java.sql.Data</local>
+            <ejb-class>java.lang.Integer</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.Integer</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry id="EnvEntry_1051639788956">
+               <description>description_20</description>
+               <env-entry-name>name_20</env-entry-name>
+               <env-entry-type>java.lang.Boolean</env-entry-type>
+               <env-entry-value>value_20</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788957">
+               <description>description_21</description>
+               <env-entry-name>name_21</env-entry-name>
+               <env-entry-type>java.lang.Double</env-entry-type>
+               <env-entry-value>value_21</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788958">
+               <description>description_22</description>
+               <env-entry-name>name_22</env-entry-name>
+               <env-entry-type>java.lang.Byte</env-entry-type>
+               <env-entry-value>value_22</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788959">
+               <description>description_23</description>
+               <env-entry-name>name_23</env-entry-name>
+               <env-entry-type>java.lang.Short</env-entry-type>
+               <env-entry-value>value_23</env-entry-value>
+            </env-entry>
+            <env-entry id="EnvEntry_1051639788960">
+               <description>description_24</description>
+               <env-entry-name>name_24</env-entry-name>
+               <env-entry-type>java.lang.Long</env-entry-type>
+               <env-entry-value>value_24</env-entry-value>
+            </env-entry>
+            <ejb-ref id="EjbRef_1051639788956">
+               <description>description_40</description>
+               <ejb-ref-name>name_40</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_40</home>
+               <remote>remote_40</remote>
+               <ejb-link>link_40</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788957">
+               <description>description_41</description>
+               <ejb-ref-name>name_41</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_41</home>
+               <remote>remote_41</remote>
+               <ejb-link>link_41</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788958">
+               <description>description_42</description>
+               <ejb-ref-name>name_42</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_42</home>
+               <remote>remote_42</remote>
+               <ejb-link>link_42</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788959">
+               <description>description_43</description>
+               <ejb-ref-name>name_43</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <home>home_43</home>
+               <remote>remote_43</remote>
+               <ejb-link>link_43</ejb-link>
+            </ejb-ref>
+            <ejb-ref id="EjbRef_1051639788960">
+               <description>description_44</description>
+               <ejb-ref-name>name_44</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <home>home_44</home>
+               <remote>remote_44</remote>
+               <ejb-link>link_44</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788956">
+               <description>description_45</description>
+               <ejb-ref-name>name_45</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_45</local-home>
+               <local>remote_45</local>
+               <ejb-link>link_45</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788957">
+               <description>description_46</description>
+               <ejb-ref-name>name_46</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_46</local-home>
+               <local>remote_46</local>
+               <ejb-link>link_46</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788958">
+               <description>description_47</description>
+               <ejb-ref-name>name_47</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_47</local-home>
+               <local>remote_47</local>
+               <ejb-link>link_47</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788959">
+               <description>description_48</description>
+               <ejb-ref-name>name_48</ejb-ref-name>
+               <ejb-ref-type>Session</ejb-ref-type>
+               <local-home>home_48</local-home>
+               <local>remote_48</local>
+               <ejb-link>link_48</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref id="EJBLocalRef_1051639788960">
+               <description>description_49</description>
+               <ejb-ref-name>name_49</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>home_49</local-home>
+               <local>remote_49</local>
+               <ejb-link>link_49</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788956">
+               <description>description_20</description>
+               <role-name>name_20</role-name>
+               <role-link>link_20</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788957">
+               <description>description_21</description>
+               <role-name>name_21</role-name>
+               <role-link>link_21</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788958">
+               <description>description_22</description>
+               <role-name>name_22</role-name>
+               <role-link>link_22</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788959">
+               <description>description_23</description>
+               <role-name>name_23</role-name>
+               <role-link>link_23</role-link>
+            </security-role-ref>
+            <security-role-ref id="SecurityRoleRef_1051639788960">
+               <description>description_24</description>
+               <role-name>name_24</role-name>
+               <role-link>link_24</role-link>
+            </security-role-ref>
+            <security-identity>
+               <description>description_4</description>
+               <run-as id="RunAsSpecifiedIdentity_1051639788956">
+                  <description>description_2</description>
+                  <role-name>roleName_2</role-name>
+               </run-as>
+            </security-identity>
+            <resource-ref id="ResourceRef_1051639788957">
+               <description>description_20</description>
+               <res-ref-name>name_20</res-ref-name>
+               <res-type>type_20</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788958">
+               <description>description_21</description>
+               <res-ref-name>name_21</res-ref-name>
+               <res-type>type_21</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788959">
+               <description>description_22</description>
+               <res-ref-name>name_22</res-ref-name>
+               <res-type>type_22</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788960">
+               <description>description_23</description>
+               <res-ref-name>name_23</res-ref-name>
+               <res-type>type_23</res-type>
+               <res-auth>Application</res-auth>
+               <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref id="ResourceRef_1051639788961">
+               <description>description_24</description>
+               <res-ref-name>name_24</res-ref-name>
+               <res-type>type_24</res-type>
+               <res-auth>Container</res-auth>
+               <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788961">
+               <description>description_20</description>
+               <resource-env-ref-name>name_20</resource-env-ref-name>
+               <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788962">
+               <description>description_21</description>
+               <resource-env-ref-name>name_21</resource-env-ref-name>
+               <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788963">
+               <description>description_22</description>
+               <resource-env-ref-name>name_22</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788964">
+               <description>description_23</description>
+               <resource-env-ref-name>name_23</resource-env-ref-name>
+               <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref id="ResourceEnvRef_1051639788965">
+               <description>description_24</description>
+               <resource-env-ref-name>name_24</resource-env-ref-name>
+               <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+         </entity>
+      </enterprise-beans>
+      <relationships id="Relationships_1051639788956">
+         <description>description_0</description>
+         <ejb-relation id="EJBRelation_1051639788996">
+            <description>description_0</description>
+            <ejb-relation-name>name_0</ejb-relation-name>
+            <ejb-relationship-role id="EJBRelationshipRole_1051639788996">
+               <description>description_0</description>
+               <ejb-relationship-role-name>roleName_0</ejb-relationship-role-name>
+               <multiplicity>One</multiplicity>
+               <cascade-delete></cascade-delete>
+               <relationship-role-source id="RoleSource_1051639788996">
+                  <description>description_0</description>
+                  <ejb-name>name_0</ejb-name>
+               </relationship-role-source>
+               <cmr-field id="CMRField_1051639788996">
+                  <description>description_0</description>
+                  <cmr-field-name>name_10</cmr-field-name>
+                  <cmr-field-type>java.lang.String</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role id="EJBRelationshipRole_1051639788997">
+               <description>description_1</description>
+               <ejb-relationship-role-name>roleName_1</ejb-relationship-role-name>
+               <multiplicity>Many</multiplicity>
+               <relationship-role-source id="RoleSource_1051639788997">
+                  <description>description_1</description>
+                  <ejb-name>name_1</ejb-name>
+               </relationship-role-source>
+               <cmr-field id="CMRField_1051639788997">
+                  <description>description_1</description>
+                  <cmr-field-name>name_11</cmr-field-name>
+                  <cmr-field-type>java.util.HashTable</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+         </ejb-relation>
+         <ejb-relation id="EJBRelation_1051639788997">
+            <description>description_1</description>
+            <ejb-relation-name>name_1</ejb-relation-name>
+            <ejb-relationship-role id="EJBRelationshipRole_1051639788998">
+               <description>description_5</description>
+               <ejb-relationship-role-name>roleName_5</ejb-relationship-role-name>
+               <multiplicity>Many</multiplicity>
+               <relationship-role-source id="RoleSource_1051639788998">
+                  <description>description_5</description>
+                  <ejb-name>name_1</ejb-name>
+               </relationship-role-source>
+               <cmr-field id="CMRField_1051639788998">
+                  <description>description_5</description>
+                  <cmr-field-name>name_15</cmr-field-name>
+                  <cmr-field-type>java.lang.String</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role id="EJBRelationshipRole_1051639788999">
+               <description>description_6</description>
+               <ejb-relationship-role-name>roleName_6</ejb-relationship-role-name>
+               <multiplicity>One</multiplicity>
+               <cascade-delete></cascade-delete>
+               <relationship-role-source id="RoleSource_1051639788999">
+                  <description>description_6</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+               <cmr-field id="CMRField_1051639788999">
+                  <description>description_6</description>
+                  <cmr-field-name>name_16</cmr-field-name>
+                  <cmr-field-type>java.util.HashTable</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+         </ejb-relation>
+         <ejb-relation id="EJBRelation_1051639789006">
+            <description>description_2</description>
+            <ejb-relation-name>name_2</ejb-relation-name>
+            <ejb-relationship-role id="EJBRelationshipRole_1051639789006">
+               <description>description_10</description>
+               <ejb-relationship-role-name>roleName_10</ejb-relationship-role-name>
+               <multiplicity>One</multiplicity>
+               <cascade-delete></cascade-delete>
+               <relationship-role-source id="RoleSource_1051639789006">
+                  <description>description_10</description>
+                  <ejb-name>name_2</ejb-name>
+               </relationship-role-source>
+               <cmr-field id="CMRField_1051639789006">
+                  <description>description_10</description>
+                  <cmr-field-name>name_20</cmr-field-name>
+                  <cmr-field-type>java.lang.String</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role id="EJBRelationshipRole_1051639789007">
+               <description>description_11</description>
+               <ejb-relationship-role-name>roleName_11</ejb-relationship-role-name>
+               <multiplicity>Many</multiplicity>
+               <relationship-role-source id="RoleSource_1051639789007">
+                  <description>description_11</description>
+                  <ejb-name>name_9</ejb-name>
+               </relationship-role-source>
+               <cmr-field id="CMRField_1051639789007">
+                  <description>description_11</description>
+                  <cmr-field-name>name_21</cmr-field-name>
+                  <cmr-field-type>java.util.HashTable</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+         </ejb-relation>
+         <ejb-relation id="EJBRelation_1051639789007">
+            <description>description_3</description>
+            <ejb-relation-name>name_3</ejb-relation-name>
+            <ejb-relationship-role id="EJBRelationshipRole_1051639789008">
+               <description>description_15</description>
+               <ejb-relationship-role-name>roleName_15</ejb-relationship-role-name>
+               <multiplicity>Many</multiplicity>
+               <relationship-role-source id="RoleSource_1051639789008">
+                  <description>description_15</description>
+                  <ejb-name>name_9</ejb-name>
+               </relationship-role-source>
+               <cmr-field id="CMRField_1051639789008">
+                  <description>description_15</description>
+                  <cmr-field-name>name_25</cmr-field-name>
+                  <cmr-field-type>java.lang.String</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role id="EJBRelationshipRole_1051639789009">
+               <description>description_16</description>
+               <ejb-relationship-role-name>roleName_16</ejb-relationship-role-name>
+               <multiplicity>One</multiplicity>
+               <cascade-delete></cascade-delete>
+               <relationship-role-source id="RoleSource_1051639789009">
+                  <description>description_16</description>
+                  <ejb-name>name_0</ejb-name>
+               </relationship-role-source>
+               <cmr-field id="CMRField_1051639789009">
+                  <description>description_16</description>
+                  <cmr-field-name>name_26</cmr-field-name>
+                  <cmr-field-type>java.util.HashTable</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+         </ejb-relation>
+         <ejb-relation id="EJBRelation_1051639789008">
+            <description>description_4</description>
+            <ejb-relation-name>name_4</ejb-relation-name>
+            <ejb-relationship-role id="EJBRelationshipRole_1051639789010">
+               <description>description_20</description>
+               <ejb-relationship-role-name>roleName_20</ejb-relationship-role-name>
+               <multiplicity>One</multiplicity>
+               <cascade-delete></cascade-delete>
+               <relationship-role-source id="RoleSource_1051639789010">
+                  <description>description_20</description>
+                  <ejb-name>name_0</ejb-name>
+               </relationship-role-source>
+               <cmr-field id="CMRField_1051639789010">
+                  <description>description_20</description>
+                  <cmr-field-name>name_30</cmr-field-name>
+                  <cmr-field-type>java.lang.String</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role id="EJBRelationshipRole_1051639789011">
+               <description>description_21</description>
+               <ejb-relationship-role-name>roleName_21</ejb-relationship-role-name>
+               <multiplicity>Many</multiplicity>
+               <relationship-role-source id="RoleSource_1051639789011">
+                  <description>description_21</description>
+                  <ejb-name>name_1</ejb-name>
+               </relationship-role-source>
+               <cmr-field id="CMRField_1051639789011">
+                  <description>description_21</description>
+                  <cmr-field-name>name_31</cmr-field-name>
+                  <cmr-field-type>java.util.HashTable</cmr-field-type>
+               </cmr-field>
+            </ejb-relationship-role>
+         </ejb-relation>
+      </relationships>
+      <assembly-descriptor id="AssemblyDescriptor_1051639789016">
+         <security-role id="SecurityRole_1051639789036">
+            <description>description_0</description>
+            <role-name>roleName_0</role-name>
+         </security-role>
+         <security-role id="SecurityRole_1051639789037">
+            <description>description_1</description>
+            <role-name>roleName_1</role-name>
+         </security-role>
+         <security-role id="SecurityRole_1051639789046">
+            <description>description_2</description>
+            <role-name>roleName_2</role-name>
+         </security-role>
+         <security-role id="SecurityRole_1051639789047">
+            <description>description_3</description>
+            <role-name>roleName_3</role-name>
+         </security-role>
+         <security-role id="SecurityRole_1051639789048">
+            <description>description_4</description>
+            <role-name>roleName_4</role-name>
+         </security-role>
+         <method-permission id="MethodPermission_1051639789056">
+            <description>description_0</description>
+            <method id="MethodElement_1051639789106">
+               <description>description_0</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_0</method-name>
+            </method>
+            <method id="MethodElement_1051639789107">
+               <description>description_1</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_1</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789108">
+               <description>description_2</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_2</method-name>
+               <method-params>
+                  <method-param>parms_0</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789109">
+               <description>description_3</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_3</method-name>
+               <method-params>
+                  <method-param>parms_1</method-param>
+                  <method-param>parms_2</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789110">
+               <description>description_4</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_4</method-name>
+               <method-params>
+                  <method-param>parms_3</method-param>
+                  <method-param>parms_4</method-param>
+                  <method-param>parms_5</method-param>
+               </method-params>
+            </method>
+         </method-permission>
+         <method-permission id="MethodPermission_1051639789116">
+            <description>description_1</description>
+            <method id="MethodElement_1051639789116">
+               <description>description_5</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_5</method-name>
+            </method>
+            <method id="MethodElement_1051639789117">
+               <description>description_6</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_6</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789118">
+               <description>description_7</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_7</method-name>
+               <method-params>
+                  <method-param>parms_6</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789119">
+               <description>description_8</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_8</method-name>
+               <method-params>
+                  <method-param>parms_7</method-param>
+                  <method-param>parms_8</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789120">
+               <description>description_9</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_9</method-name>
+               <method-params>
+                  <method-param>parms_9</method-param>
+                  <method-param>parms_10</method-param>
+                  <method-param>parms_11</method-param>
+               </method-params>
+            </method>
+         </method-permission>
+         <method-permission id="MethodPermission_1051639789117">
+            <description>description_2</description>
+            <method id="MethodElement_1051639789121">
+               <description>description_10</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_10</method-name>
+            </method>
+            <method id="MethodElement_1051639789122">
+               <description>description_11</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_11</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789123">
+               <description>description_12</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_12</method-name>
+               <method-params>
+                  <method-param>parms_12</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789124">
+               <description>description_13</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_13</method-name>
+               <method-params>
+                  <method-param>parms_13</method-param>
+                  <method-param>parms_14</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789125">
+               <description>description_14</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_14</method-name>
+               <method-params>
+                  <method-param>parms_15</method-param>
+                  <method-param>parms_16</method-param>
+                  <method-param>parms_17</method-param>
+               </method-params>
+            </method>
+         </method-permission>
+         <method-permission id="MethodPermission_1051639789126">
+            <description>description_3</description>
+            <method id="MethodElement_1051639789126">
+               <description>description_15</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_15</method-name>
+            </method>
+            <method id="MethodElement_1051639789127">
+               <description>description_16</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_16</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789128">
+               <description>description_17</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_17</method-name>
+               <method-params>
+                  <method-param>parms_18</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789129">
+               <description>description_18</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_18</method-name>
+               <method-params>
+                  <method-param>parms_19</method-param>
+                  <method-param>parms_20</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789130">
+               <description>description_19</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_19</method-name>
+               <method-params>
+                  <method-param>parms_21</method-param>
+                  <method-param>parms_22</method-param>
+                  <method-param>parms_23</method-param>
+               </method-params>
+            </method>
+         </method-permission>
+         <method-permission id="MethodPermission_1051639789127">
+            <description>description_4</description>
+            <method id="MethodElement_1051639789131">
+               <description>description_20</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_20</method-name>
+            </method>
+            <method id="MethodElement_1051639789132">
+               <description>description_21</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_21</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789133">
+               <description>description_22</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_22</method-name>
+               <method-params>
+                  <method-param>parms_24</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789134">
+               <description>description_23</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_23</method-name>
+               <method-params>
+                  <method-param>parms_25</method-param>
+                  <method-param>parms_26</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789135">
+               <description>description_24</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_24</method-name>
+               <method-params>
+                  <method-param>parms_27</method-param>
+                  <method-param>parms_28</method-param>
+                  <method-param>parms_29</method-param>
+               </method-params>
+            </method>
+         </method-permission>
+         <container-transaction id="MethodTransaction_1051639789146">
+            <description>description_0</description>
+            <method id="MethodElement_1051639789146">
+               <description>description_25</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_25</method-name>
+            </method>
+            <method id="MethodElement_1051639789147">
+               <description>description_26</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_26</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789148">
+               <description>description_27</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_27</method-name>
+               <method-params>
+                  <method-param>parms_30</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789149">
+               <description>description_28</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_28</method-name>
+               <method-params>
+                  <method-param>parms_31</method-param>
+                  <method-param>parms_32</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789150">
+               <description>description_29</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_29</method-name>
+               <method-params>
+                  <method-param>parms_33</method-param>
+                  <method-param>parms_34</method-param>
+                  <method-param>parms_35</method-param>
+               </method-params>
+            </method>
+            <trans-attribute>NotSupported</trans-attribute>
+         </container-transaction>
+         <container-transaction id="MethodTransaction_1051639789147">
+            <description>description_1</description>
+            <method id="MethodElement_1051639789151">
+               <description>description_30</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_30</method-name>
+            </method>
+            <method id="MethodElement_1051639789152">
+               <description>description_31</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_31</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789153">
+               <description>description_32</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_32</method-name>
+               <method-params>
+                  <method-param>parms_36</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789154">
+               <description>description_33</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_33</method-name>
+               <method-params>
+                  <method-param>parms_37</method-param>
+                  <method-param>parms_38</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789156">
+               <description>description_34</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_34</method-name>
+               <method-params>
+                  <method-param>parms_39</method-param>
+                  <method-param>parms_40</method-param>
+                  <method-param>parms_41</method-param>
+               </method-params>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+         </container-transaction>
+         <container-transaction id="MethodTransaction_1051639789156">
+            <description>description_2</description>
+            <method id="MethodElement_1051639789157">
+               <description>description_35</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_35</method-name>
+            </method>
+            <method id="MethodElement_1051639789158">
+               <description>description_36</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_36</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789159">
+               <description>description_37</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_37</method-name>
+               <method-params>
+                  <method-param>parms_42</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789160">
+               <description>description_38</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_38</method-name>
+               <method-params>
+                  <method-param>parms_43</method-param>
+                  <method-param>parms_44</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789161">
+               <description>description_39</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_39</method-name>
+               <method-params>
+                  <method-param>parms_45</method-param>
+                  <method-param>parms_46</method-param>
+                  <method-param>parms_47</method-param>
+               </method-params>
+            </method>
+            <trans-attribute>Required</trans-attribute>
+         </container-transaction>
+         <container-transaction id="MethodTransaction_1051639789157">
+            <description>description_3</description>
+            <method id="MethodElement_1051639789162">
+               <description>description_40</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_40</method-name>
+            </method>
+            <method id="MethodElement_1051639789163">
+               <description>description_41</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_41</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789164">
+               <description>description_42</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_42</method-name>
+               <method-params>
+                  <method-param>parms_48</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789165">
+               <description>description_43</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_43</method-name>
+               <method-params>
+                  <method-param>parms_49</method-param>
+                  <method-param>parms_50</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789166">
+               <description>description_44</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_44</method-name>
+               <method-params>
+                  <method-param>parms_51</method-param>
+                  <method-param>parms_52</method-param>
+                  <method-param>parms_53</method-param>
+               </method-params>
+            </method>
+            <trans-attribute>RequiresNew</trans-attribute>
+         </container-transaction>
+         <container-transaction id="MethodTransaction_1051639789158">
+            <description>description_4</description>
+            <method id="MethodElement_1051639789167">
+               <description>description_45</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_45</method-name>
+            </method>
+            <method id="MethodElement_1051639789168">
+               <description>description_46</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_46</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789169">
+               <description>description_47</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_47</method-name>
+               <method-params>
+                  <method-param>parms_54</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789170">
+               <description>description_48</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_48</method-name>
+               <method-params>
+                  <method-param>parms_55</method-param>
+                  <method-param>parms_56</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789171">
+               <description>description_49</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_49</method-name>
+               <method-params>
+                  <method-param>parms_57</method-param>
+                  <method-param>parms_58</method-param>
+                  <method-param>parms_59</method-param>
+               </method-params>
+            </method>
+            <trans-attribute>Mandatory</trans-attribute>
+         </container-transaction>
+         <exclude-list id="ExcludeList_1051639789166">
+            <description>description_0</description>
+            <method id="MethodElement_1051639789172">
+               <description>description_50</description>
+               <ejb-name>name_0</ejb-name>
+               <method-name>name_50</method-name>
+            </method>
+            <method id="MethodElement_1051639789176">
+               <description>description_51</description>
+               <ejb-name>name_1</ejb-name>
+               <method-intf>Remote</method-intf>
+               <method-name>name_51</method-name>
+               <method-params>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789177">
+               <description>description_52</description>
+               <ejb-name>name_2</ejb-name>
+               <method-intf>Home</method-intf>
+               <method-name>name_52</method-name>
+               <method-params>
+                  <method-param>parms_60</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789178">
+               <description>description_53</description>
+               <ejb-name>name_8</ejb-name>
+               <method-intf>Local</method-intf>
+               <method-name>name_53</method-name>
+               <method-params>
+                  <method-param>parms_61</method-param>
+                  <method-param>parms_62</method-param>
+               </method-params>
+            </method>
+            <method id="MethodElement_1051639789179">
+               <description>description_54</description>
+               <ejb-name>name_9</ejb-name>
+               <method-intf>LocalHome</method-intf>
+               <method-name>name_54</method-name>
+               <method-params>
+                  <method-param>parms_63</method-param>
+                  <method-param>parms_64</method-param>
+                  <method-param>parms_65</method-param>
+               </method-params>
+            </method>
+         </exclude-list>
+      </assembly-descriptor>
+      <ejb-client-jar>ejbClientJar_0</ejb-client-jar>
+   </ejb-jar>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar1-1.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar1-1.xml
new file mode 100644
index 0000000..d70d2d4
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar1-1.xml
@@ -0,0 +1,2831 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd">
+<ejb-jar id="ejb-jar_ID">
+    <description>description_0</description>
+    <display-name>displayName_0</display-name>
+    <small-icon>smallIcon_0</small-icon>
+    <large-icon>largeIcon_0</large-icon>
+    <enterprise-beans>
+        <entity id="MyCMP">
+            <ejb-name>MyCMP</ejb-name>
+            <home>com.ibm.test.ejb.MyCMPHome</home>
+            <remote>com.ibm.test.ejb.MyCMP</remote>
+            <ejb-class>com.ibm.test.ejb.MyCMPBean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>com.ibm.test.ejb.MyCMPKey</prim-key-class>
+            <reentrant>False</reentrant>
+            <cmp-field>
+                <field-name>k1</field-name>
+            </cmp-field>
+        </entity>
+        <entity id="MyCMP1">
+            <ejb-name>MyCMP1</ejb-name>
+            <home>com.ibm.test.ejb.MyCMP1Home</home>
+            <remote>com.ibm.test.ejb.MyCMP1</remote>
+            <ejb-class>com.ibm.test.ejb.MyCMP1Bean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>com.ibm.test.ejb.MyCMP1Key</prim-key-class>
+            <reentrant>False</reentrant>
+            <cmp-field>
+                <field-name>k1</field-name>
+            </cmp-field>
+        </entity>
+        <entity id="MyCMP2">
+            <ejb-name>MyCMP2</ejb-name>
+            <home>com.ibm.test.ejb.MyCMP2Home</home>
+            <remote>com.ibm.test.ejb.MyCMP2</remote>
+            <ejb-class>com.ibm.test.ejb.MyCMP2Bean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>com.ibm.test.ejb.MyCMP2Key</prim-key-class>
+            <reentrant>False</reentrant>
+            <cmp-field>
+                <field-name>k1</field-name>
+            </cmp-field>
+        </entity>
+        <entity>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.sql.Data</remote>
+            <local-home>java.lang.Integer</local-home>
+            <local>java.lang.String</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_0</description>
+                <env-entry-name>name_0</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_0</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_1</description>
+                <env-entry-name>name_1</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_1</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_2</description>
+                <env-entry-name>name_2</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_2</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_3</description>
+                <env-entry-name>name_3</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_3</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_4</description>
+                <env-entry-name>name_4</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_4</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_0</description>
+                <ejb-ref-name>name_0</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_0</home>
+                <remote>remote_0</remote>
+                <ejb-link>link_0</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_1</description>
+                <ejb-ref-name>name_1</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_1</home>
+                <remote>remote_1</remote>
+                <ejb-link>link_1</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_2</description>
+                <ejb-ref-name>name_2</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_2</home>
+                <remote>remote_2</remote>
+                <ejb-link>link_2</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_3</description>
+                <ejb-ref-name>name_3</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_3</home>
+                <remote>remote_3</remote>
+                <ejb-link>link_3</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_4</description>
+                <ejb-ref-name>name_4</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_4</home>
+                <remote>remote_4</remote>
+                <ejb-link>link_4</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_0</description>
+                <ejb-ref-name>name_0</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_0</local-home>
+                <local>local_0</local>
+                <ejb-link>link_0</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_1</description>
+                <ejb-ref-name>name_1</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_1</local-home>
+                <local>local_1</local>
+                <ejb-link>link_1</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_2</description>
+                <ejb-ref-name>name_2</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_2</local-home>
+                <local>local_2</local>
+                <ejb-link>link_2</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_3</description>
+                <ejb-ref-name>name_3</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_3</local-home>
+                <local>local_3</local>
+                <ejb-link>link_3</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_4</description>
+                <ejb-ref-name>name_4</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_4</local-home>
+                <local>local_4</local>
+                <ejb-link>link_4</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_0</description>
+                <role-name>name_0</role-name>
+                <role-link>link_0</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_1</description>
+                <role-name>name_1</role-name>
+                <role-link>link_1</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_2</description>
+                <role-name>name_2</role-name>
+                <role-link>link_2</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_3</description>
+                <role-name>name_3</role-name>
+                <role-link>link_3</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_4</description>
+                <role-name>name_4</role-name>
+                <role-link>link_4</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_0</description>
+                <run-as>
+                    <description>description_0</description>
+                    <role-name>roleName_0</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_0</description>
+                <res-ref-name>name_0</res-ref-name>
+                <res-type>type_0</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_1</description>
+                <res-ref-name>name_1</res-ref-name>
+                <res-type>type_1</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_2</description>
+                <res-ref-name>name_2</res-ref-name>
+                <res-type>type_2</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_3</description>
+                <res-ref-name>name_3</res-ref-name>
+                <res-type>type_3</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_4</description>
+                <res-ref-name>name_4</res-ref-name>
+                <res-type>type_4</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_0</description>
+                <resource-env-ref-name>name_0</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_1</description>
+                <resource-env-ref-name>name_1</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_2</description>
+                <resource-env-ref-name>name_2</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_3</description>
+                <resource-env-ref-name>name_3</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_4</description>
+                <resource-env-ref-name>name_4</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_1</description>
+            <display-name>displayName_1</display-name>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+            <ejb-name>name_1</ejb-name>
+            <home>java.sql.Data</home>
+            <remote>java.lang.Integer</remote>
+            <local-home>java.lang.String</local-home>
+            <local>java.util.HashTable</local>
+            <ejb-class>java.util.List</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.List</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_5</description>
+                <env-entry-name>name_5</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_5</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_6</description>
+                <env-entry-name>name_6</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_6</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_7</description>
+                <env-entry-name>name_7</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_7</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_8</description>
+                <env-entry-name>name_8</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_8</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_9</description>
+                <env-entry-name>name_9</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_9</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_5</description>
+                <ejb-ref-name>name_5</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_5</home>
+                <remote>remote_5</remote>
+                <ejb-link>link_5</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_6</description>
+                <ejb-ref-name>name_6</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_6</home>
+                <remote>remote_6</remote>
+                <ejb-link>link_6</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_7</description>
+                <ejb-ref-name>name_7</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_7</home>
+                <remote>remote_7</remote>
+                <ejb-link>link_7</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_8</description>
+                <ejb-ref-name>name_8</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_8</home>
+                <remote>remote_8</remote>
+                <ejb-link>link_8</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_9</description>
+                <ejb-ref-name>name_9</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_9</home>
+                <remote>remote_9</remote>
+                <ejb-link>link_9</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_5</description>
+                <ejb-ref-name>name_5</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_5</local-home>
+                <local>local_5</local>
+                <ejb-link>link_5</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_6</description>
+                <ejb-ref-name>name_6</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_6</local-home>
+                <local>local_6</local>
+                <ejb-link>link_6</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_7</description>
+                <ejb-ref-name>name_7</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_7</local-home>
+                <local>local_7</local>
+                <ejb-link>link_7</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_8</description>
+                <ejb-ref-name>name_8</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_8</local-home>
+                <local>local_8</local>
+                <ejb-link>link_8</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_9</description>
+                <ejb-ref-name>name_9</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_9</local-home>
+                <local>local_9</local>
+                <ejb-link>link_9</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_5</description>
+                <role-name>name_5</role-name>
+                <role-link>link_5</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_6</description>
+                <role-name>name_6</role-name>
+                <role-link>link_6</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_7</description>
+                <role-name>name_7</role-name>
+                <role-link>link_7</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_8</description>
+                <role-name>name_8</role-name>
+                <role-link>link_8</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_9</description>
+                <role-name>name_9</role-name>
+                <role-link>link_9</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_0</description>
+                <use-caller-identity/>
+            </security-identity>
+            <resource-ref>
+                <description>description_5</description>
+                <res-ref-name>name_5</res-ref-name>
+                <res-type>type_5</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_6</description>
+                <res-ref-name>name_6</res-ref-name>
+                <res-type>type_6</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_7</description>
+                <res-ref-name>name_7</res-ref-name>
+                <res-type>type_7</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_8</description>
+                <res-ref-name>name_8</res-ref-name>
+                <res-type>type_8</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_9</description>
+                <res-ref-name>name_9</res-ref-name>
+                <res-type>type_9</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_5</description>
+                <resource-env-ref-name>name_5</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_6</description>
+                <resource-env-ref-name>name_6</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_7</description>
+                <resource-env-ref-name>name_7</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_8</description>
+                <resource-env-ref-name>name_8</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_9</description>
+                <resource-env-ref-name>name_9</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_2</description>
+            <display-name>displayName_2</display-name>
+            <small-icon>smallIcon_2</small-icon>
+            <large-icon>largeIcon_2</large-icon>
+            <ejb-name>name_2</ejb-name>
+            <home>java.lang.Integer</home>
+            <remote>java.lang.String</remote>
+            <local-home>java.util.HashTable</local-home>
+            <local>java.util.List</local>
+            <ejb-class>java.sql.Data</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.sql.Data</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_10</description>
+                <env-entry-name>name_10</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_10</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_11</description>
+                <env-entry-name>name_11</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_11</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_12</description>
+                <env-entry-name>name_12</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_12</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_13</description>
+                <env-entry-name>name_13</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_13</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_14</description>
+                <env-entry-name>name_14</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_14</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_10</description>
+                <ejb-ref-name>name_10</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_10</home>
+                <remote>remote_10</remote>
+                <ejb-link>link_10</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_11</description>
+                <ejb-ref-name>name_11</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_11</home>
+                <remote>remote_11</remote>
+                <ejb-link>link_11</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_12</description>
+                <ejb-ref-name>name_12</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_12</home>
+                <remote>remote_12</remote>
+                <ejb-link>link_12</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_13</description>
+                <ejb-ref-name>name_13</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_13</home>
+                <remote>remote_13</remote>
+                <ejb-link>link_13</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_14</description>
+                <ejb-ref-name>name_14</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_14</home>
+                <remote>remote_14</remote>
+                <ejb-link>link_14</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_10</description>
+                <ejb-ref-name>name_10</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_10</local-home>
+                <local>local_10</local>
+                <ejb-link>link_10</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_11</description>
+                <ejb-ref-name>name_11</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_11</local-home>
+                <local>local_11</local>
+                <ejb-link>link_11</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_12</description>
+                <ejb-ref-name>name_12</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_12</local-home>
+                <local>local_12</local>
+                <ejb-link>link_12</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_13</description>
+                <ejb-ref-name>name_13</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_13</local-home>
+                <local>local_13</local>
+                <ejb-link>link_13</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_14</description>
+                <ejb-ref-name>name_14</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_14</local-home>
+                <local>local_14</local>
+                <ejb-link>link_14</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_10</description>
+                <role-name>name_10</role-name>
+                <role-link>link_10</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_11</description>
+                <role-name>name_11</role-name>
+                <role-link>link_11</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_12</description>
+                <role-name>name_12</role-name>
+                <role-link>link_12</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_13</description>
+                <role-name>name_13</role-name>
+                <role-link>link_13</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_14</description>
+                <role-name>name_14</role-name>
+                <role-link>link_14</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_1</description>
+                <run-as>
+                    <description>description_1</description>
+                    <role-name>roleName_1</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_10</description>
+                <res-ref-name>name_10</res-ref-name>
+                <res-type>type_10</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_11</description>
+                <res-ref-name>name_11</res-ref-name>
+                <res-type>type_11</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_12</description>
+                <res-ref-name>name_12</res-ref-name>
+                <res-type>type_12</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_13</description>
+                <res-ref-name>name_13</res-ref-name>
+                <res-type>type_13</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_14</description>
+                <res-ref-name>name_14</res-ref-name>
+                <res-type>type_14</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_10</description>
+                <resource-env-ref-name>name_10</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_11</description>
+                <resource-env-ref-name>name_11</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_12</description>
+                <resource-env-ref-name>name_12</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_13</description>
+                <resource-env-ref-name>name_13</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_14</description>
+                <resource-env-ref-name>name_14</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_3</description>
+            <display-name>displayName_3</display-name>
+            <small-icon>smallIcon_3</small-icon>
+            <large-icon>largeIcon_3</large-icon>
+            <ejb-name>name_3</ejb-name>
+            <home>java.lang.String</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.List</local-home>
+            <local>java.sql.Data</local>
+            <ejb-class>java.lang.Integer</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.Integer</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_15</description>
+                <env-entry-name>name_15</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_15</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_16</description>
+                <env-entry-name>name_16</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_16</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_17</description>
+                <env-entry-name>name_17</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_17</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_18</description>
+                <env-entry-name>name_18</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_18</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_19</description>
+                <env-entry-name>name_19</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_19</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_15</description>
+                <ejb-ref-name>name_15</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_15</home>
+                <remote>remote_15</remote>
+                <ejb-link>link_15</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_16</description>
+                <ejb-ref-name>name_16</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_16</home>
+                <remote>remote_16</remote>
+                <ejb-link>link_16</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_17</description>
+                <ejb-ref-name>name_17</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_17</home>
+                <remote>remote_17</remote>
+                <ejb-link>link_17</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_18</description>
+                <ejb-ref-name>name_18</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_18</home>
+                <remote>remote_18</remote>
+                <ejb-link>link_18</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_19</description>
+                <ejb-ref-name>name_19</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_19</home>
+                <remote>remote_19</remote>
+                <ejb-link>link_19</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_15</description>
+                <ejb-ref-name>name_15</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_15</local-home>
+                <local>local_15</local>
+                <ejb-link>link_15</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_16</description>
+                <ejb-ref-name>name_16</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_16</local-home>
+                <local>local_16</local>
+                <ejb-link>link_16</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_17</description>
+                <ejb-ref-name>name_17</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_17</local-home>
+                <local>local_17</local>
+                <ejb-link>link_17</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_18</description>
+                <ejb-ref-name>name_18</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_18</local-home>
+                <local>local_18</local>
+                <ejb-link>link_18</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_19</description>
+                <ejb-ref-name>name_19</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_19</local-home>
+                <local>local_19</local>
+                <ejb-link>link_19</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_15</description>
+                <role-name>name_15</role-name>
+                <role-link>link_15</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_16</description>
+                <role-name>name_16</role-name>
+                <role-link>link_16</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_17</description>
+                <role-name>name_17</role-name>
+                <role-link>link_17</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_18</description>
+                <role-name>name_18</role-name>
+                <role-link>link_18</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_19</description>
+                <role-name>name_19</role-name>
+                <role-link>link_19</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_1</description>
+                <use-caller-identity/>
+            </security-identity>
+            <resource-ref>
+                <description>description_15</description>
+                <res-ref-name>name_15</res-ref-name>
+                <res-type>type_15</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_16</description>
+                <res-ref-name>name_16</res-ref-name>
+                <res-type>type_16</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_17</description>
+                <res-ref-name>name_17</res-ref-name>
+                <res-type>type_17</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_18</description>
+                <res-ref-name>name_18</res-ref-name>
+                <res-type>type_18</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_19</description>
+                <res-ref-name>name_19</res-ref-name>
+                <res-type>type_19</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_15</description>
+                <resource-env-ref-name>name_15</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_16</description>
+                <resource-env-ref-name>name_16</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_17</description>
+                <resource-env-ref-name>name_17</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_18</description>
+                <resource-env-ref-name>name_18</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_19</description>
+                <resource-env-ref-name>name_19</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_4</description>
+            <display-name>displayName_4</display-name>
+            <small-icon>smallIcon_4</small-icon>
+            <large-icon>largeIcon_4</large-icon>
+            <ejb-name>name_4</ejb-name>
+            <home>java.util.HashTable</home>
+            <remote>java.util.List</remote>
+            <local-home>java.sql.Data</local-home>
+            <local>java.lang.Integer</local>
+            <ejb-class>java.lang.String</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.String</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_20</description>
+                <env-entry-name>name_20</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_20</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_21</description>
+                <env-entry-name>name_21</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_21</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_22</description>
+                <env-entry-name>name_22</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_22</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_23</description>
+                <env-entry-name>name_23</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_23</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_24</description>
+                <env-entry-name>name_24</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_24</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_20</description>
+                <ejb-ref-name>name_20</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_20</home>
+                <remote>remote_20</remote>
+                <ejb-link>link_20</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_21</description>
+                <ejb-ref-name>name_21</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_21</home>
+                <remote>remote_21</remote>
+                <ejb-link>link_21</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_22</description>
+                <ejb-ref-name>name_22</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_22</home>
+                <remote>remote_22</remote>
+                <ejb-link>link_22</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_23</description>
+                <ejb-ref-name>name_23</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_23</home>
+                <remote>remote_23</remote>
+                <ejb-link>link_23</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_24</description>
+                <ejb-ref-name>name_24</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_24</home>
+                <remote>remote_24</remote>
+                <ejb-link>link_24</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_20</description>
+                <ejb-ref-name>name_20</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_20</local-home>
+                <local>local_20</local>
+                <ejb-link>link_20</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_21</description>
+                <ejb-ref-name>name_21</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_21</local-home>
+                <local>local_21</local>
+                <ejb-link>link_21</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_22</description>
+                <ejb-ref-name>name_22</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_22</local-home>
+                <local>local_22</local>
+                <ejb-link>link_22</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_23</description>
+                <ejb-ref-name>name_23</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_23</local-home>
+                <local>local_23</local>
+                <ejb-link>link_23</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_24</description>
+                <ejb-ref-name>name_24</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_24</local-home>
+                <local>local_24</local>
+                <ejb-link>link_24</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_20</description>
+                <role-name>name_20</role-name>
+                <role-link>link_20</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_21</description>
+                <role-name>name_21</role-name>
+                <role-link>link_21</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_22</description>
+                <role-name>name_22</role-name>
+                <role-link>link_22</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_23</description>
+                <role-name>name_23</role-name>
+                <role-link>link_23</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_24</description>
+                <role-name>name_24</role-name>
+                <role-link>link_24</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_2</description>
+                <run-as>
+                    <description>description_2</description>
+                    <role-name>roleName_2</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_20</description>
+                <res-ref-name>name_20</res-ref-name>
+                <res-type>type_20</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_21</description>
+                <res-ref-name>name_21</res-ref-name>
+                <res-type>type_21</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_22</description>
+                <res-ref-name>name_22</res-ref-name>
+                <res-type>type_22</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_23</description>
+                <res-ref-name>name_23</res-ref-name>
+                <res-type>type_23</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_24</description>
+                <res-ref-name>name_24</res-ref-name>
+                <res-type>type_24</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_20</description>
+                <resource-env-ref-name>name_20</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_21</description>
+                <resource-env-ref-name>name_21</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_22</description>
+                <resource-env-ref-name>name_22</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_23</description>
+                <resource-env-ref-name>name_23</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_24</description>
+                <resource-env-ref-name>name_24</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_5</description>
+            <display-name>displayName_5</display-name>
+            <small-icon>smallIcon_5</small-icon>
+            <large-icon>largeIcon_5</large-icon>
+            <ejb-name>name_5</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.sql.Data</remote>
+            <local-home>java.lang.Integer</local-home>
+            <local>java.lang.String</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_25</description>
+                <env-entry-name>name_25</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_25</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_26</description>
+                <env-entry-name>name_26</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_26</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_27</description>
+                <env-entry-name>name_27</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_27</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_28</description>
+                <env-entry-name>name_28</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_28</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_29</description>
+                <env-entry-name>name_29</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_29</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_25</description>
+                <ejb-ref-name>name_25</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_25</home>
+                <remote>remote_25</remote>
+                <ejb-link>link_25</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_26</description>
+                <ejb-ref-name>name_26</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_26</home>
+                <remote>remote_26</remote>
+                <ejb-link>link_26</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_27</description>
+                <ejb-ref-name>name_27</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_27</home>
+                <remote>remote_27</remote>
+                <ejb-link>link_27</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_28</description>
+                <ejb-ref-name>name_28</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_28</home>
+                <remote>remote_28</remote>
+                <ejb-link>link_28</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_29</description>
+                <ejb-ref-name>name_29</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_29</home>
+                <remote>remote_29</remote>
+                <ejb-link>link_29</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_25</description>
+                <ejb-ref-name>name_25</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_25</local-home>
+                <local>local_25</local>
+                <ejb-link>link_25</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_26</description>
+                <ejb-ref-name>name_26</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_26</local-home>
+                <local>local_26</local>
+                <ejb-link>link_26</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_27</description>
+                <ejb-ref-name>name_27</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_27</local-home>
+                <local>local_27</local>
+                <ejb-link>link_27</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_28</description>
+                <ejb-ref-name>name_28</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_28</local-home>
+                <local>local_28</local>
+                <ejb-link>link_28</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_29</description>
+                <ejb-ref-name>name_29</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_29</local-home>
+                <local>local_29</local>
+                <ejb-link>link_29</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_25</description>
+                <role-name>name_25</role-name>
+                <role-link>link_25</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_26</description>
+                <role-name>name_26</role-name>
+                <role-link>link_26</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_27</description>
+                <role-name>name_27</role-name>
+                <role-link>link_27</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_28</description>
+                <role-name>name_28</role-name>
+                <role-link>link_28</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_29</description>
+                <role-name>name_29</role-name>
+                <role-link>link_29</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_2</description>
+                <use-caller-identity/>
+            </security-identity>
+            <resource-ref>
+                <description>description_25</description>
+                <res-ref-name>name_25</res-ref-name>
+                <res-type>type_25</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_26</description>
+                <res-ref-name>name_26</res-ref-name>
+                <res-type>type_26</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_27</description>
+                <res-ref-name>name_27</res-ref-name>
+                <res-type>type_27</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_28</description>
+                <res-ref-name>name_28</res-ref-name>
+                <res-type>type_28</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_29</description>
+                <res-ref-name>name_29</res-ref-name>
+                <res-type>type_29</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_25</description>
+                <resource-env-ref-name>name_25</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_26</description>
+                <resource-env-ref-name>name_26</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_27</description>
+                <resource-env-ref-name>name_27</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_28</description>
+                <resource-env-ref-name>name_28</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_29</description>
+                <resource-env-ref-name>name_29</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_6</description>
+            <display-name>displayName_6</display-name>
+            <small-icon>smallIcon_6</small-icon>
+            <large-icon>largeIcon_6</large-icon>
+            <ejb-name>name_6</ejb-name>
+            <home>java.sql.Data</home>
+            <remote>java.lang.Integer</remote>
+            <local-home>java.lang.String</local-home>
+            <local>java.util.HashTable</local>
+            <ejb-class>java.util.List</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.List</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_30</description>
+                <env-entry-name>name_30</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_30</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_31</description>
+                <env-entry-name>name_31</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_31</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_32</description>
+                <env-entry-name>name_32</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_32</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_33</description>
+                <env-entry-name>name_33</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_33</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_34</description>
+                <env-entry-name>name_34</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_34</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_30</description>
+                <ejb-ref-name>name_30</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_30</home>
+                <remote>remote_30</remote>
+                <ejb-link>link_30</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_31</description>
+                <ejb-ref-name>name_31</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_31</home>
+                <remote>remote_31</remote>
+                <ejb-link>link_31</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_32</description>
+                <ejb-ref-name>name_32</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_32</home>
+                <remote>remote_32</remote>
+                <ejb-link>link_32</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_33</description>
+                <ejb-ref-name>name_33</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_33</home>
+                <remote>remote_33</remote>
+                <ejb-link>link_33</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_34</description>
+                <ejb-ref-name>name_34</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_34</home>
+                <remote>remote_34</remote>
+                <ejb-link>link_34</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_30</description>
+                <ejb-ref-name>name_30</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_30</local-home>
+                <local>local_30</local>
+                <ejb-link>link_30</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_31</description>
+                <ejb-ref-name>name_31</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_31</local-home>
+                <local>local_31</local>
+                <ejb-link>link_31</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_32</description>
+                <ejb-ref-name>name_32</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_32</local-home>
+                <local>local_32</local>
+                <ejb-link>link_32</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_33</description>
+                <ejb-ref-name>name_33</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_33</local-home>
+                <local>local_33</local>
+                <ejb-link>link_33</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_34</description>
+                <ejb-ref-name>name_34</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_34</local-home>
+                <local>local_34</local>
+                <ejb-link>link_34</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_30</description>
+                <role-name>name_30</role-name>
+                <role-link>link_30</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_31</description>
+                <role-name>name_31</role-name>
+                <role-link>link_31</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_32</description>
+                <role-name>name_32</role-name>
+                <role-link>link_32</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_33</description>
+                <role-name>name_33</role-name>
+                <role-link>link_33</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_34</description>
+                <role-name>name_34</role-name>
+                <role-link>link_34</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_3</description>
+                <run-as>
+                    <description>description_3</description>
+                    <role-name>roleName_3</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_30</description>
+                <res-ref-name>name_30</res-ref-name>
+                <res-type>type_30</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_31</description>
+                <res-ref-name>name_31</res-ref-name>
+                <res-type>type_31</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_32</description>
+                <res-ref-name>name_32</res-ref-name>
+                <res-type>type_32</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_33</description>
+                <res-ref-name>name_33</res-ref-name>
+                <res-type>type_33</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_34</description>
+                <res-ref-name>name_34</res-ref-name>
+                <res-type>type_34</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_30</description>
+                <resource-env-ref-name>name_30</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_31</description>
+                <resource-env-ref-name>name_31</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_32</description>
+                <resource-env-ref-name>name_32</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_33</description>
+                <resource-env-ref-name>name_33</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_34</description>
+                <resource-env-ref-name>name_34</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_7</description>
+            <display-name>displayName_7</display-name>
+            <small-icon>smallIcon_7</small-icon>
+            <large-icon>largeIcon_7</large-icon>
+            <ejb-name>name_7</ejb-name>
+            <home>java.lang.Integer</home>
+            <remote>java.lang.String</remote>
+            <local-home>java.util.HashTable</local-home>
+            <local>java.util.List</local>
+            <ejb-class>java.sql.Data</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.sql.Data</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_35</description>
+                <env-entry-name>name_35</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_35</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_36</description>
+                <env-entry-name>name_36</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_36</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_37</description>
+                <env-entry-name>name_37</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_37</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_38</description>
+                <env-entry-name>name_38</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_38</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_39</description>
+                <env-entry-name>name_39</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_39</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_35</description>
+                <ejb-ref-name>name_35</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_35</home>
+                <remote>remote_35</remote>
+                <ejb-link>link_35</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_36</description>
+                <ejb-ref-name>name_36</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_36</home>
+                <remote>remote_36</remote>
+                <ejb-link>link_36</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_37</description>
+                <ejb-ref-name>name_37</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_37</home>
+                <remote>remote_37</remote>
+                <ejb-link>link_37</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_38</description>
+                <ejb-ref-name>name_38</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_38</home>
+                <remote>remote_38</remote>
+                <ejb-link>link_38</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_39</description>
+                <ejb-ref-name>name_39</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_39</home>
+                <remote>remote_39</remote>
+                <ejb-link>link_39</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_35</description>
+                <ejb-ref-name>name_35</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_35</local-home>
+                <local>local_35</local>
+                <ejb-link>link_35</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_36</description>
+                <ejb-ref-name>name_36</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_36</local-home>
+                <local>local_36</local>
+                <ejb-link>link_36</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_37</description>
+                <ejb-ref-name>name_37</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_37</local-home>
+                <local>local_37</local>
+                <ejb-link>link_37</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_38</description>
+                <ejb-ref-name>name_38</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_38</local-home>
+                <local>local_38</local>
+                <ejb-link>link_38</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_39</description>
+                <ejb-ref-name>name_39</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_39</local-home>
+                <local>local_39</local>
+                <ejb-link>link_39</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_35</description>
+                <role-name>name_35</role-name>
+                <role-link>link_35</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_36</description>
+                <role-name>name_36</role-name>
+                <role-link>link_36</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_37</description>
+                <role-name>name_37</role-name>
+                <role-link>link_37</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_38</description>
+                <role-name>name_38</role-name>
+                <role-link>link_38</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_39</description>
+                <role-name>name_39</role-name>
+                <role-link>link_39</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_3</description>
+                <use-caller-identity/>
+            </security-identity>
+            <resource-ref>
+                <description>description_35</description>
+                <res-ref-name>name_35</res-ref-name>
+                <res-type>type_35</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_36</description>
+                <res-ref-name>name_36</res-ref-name>
+                <res-type>type_36</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_37</description>
+                <res-ref-name>name_37</res-ref-name>
+                <res-type>type_37</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_38</description>
+                <res-ref-name>name_38</res-ref-name>
+                <res-type>type_38</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_39</description>
+                <res-ref-name>name_39</res-ref-name>
+                <res-type>type_39</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_35</description>
+                <resource-env-ref-name>name_35</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_36</description>
+                <resource-env-ref-name>name_36</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_37</description>
+                <resource-env-ref-name>name_37</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_38</description>
+                <resource-env-ref-name>name_38</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_39</description>
+                <resource-env-ref-name>name_39</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_8</description>
+            <display-name>displayName_8</display-name>
+            <small-icon>smallIcon_8</small-icon>
+            <large-icon>largeIcon_8</large-icon>
+            <ejb-name>name_8</ejb-name>
+            <home>java.lang.String</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.List</local-home>
+            <local>java.sql.Data</local>
+            <ejb-class>java.lang.Integer</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.Integer</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_40</description>
+                <env-entry-name>name_40</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_40</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_41</description>
+                <env-entry-name>name_41</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_41</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_42</description>
+                <env-entry-name>name_42</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_42</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_43</description>
+                <env-entry-name>name_43</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_43</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_44</description>
+                <env-entry-name>name_44</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_44</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_40</description>
+                <ejb-ref-name>name_40</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_40</home>
+                <remote>remote_40</remote>
+                <ejb-link>link_40</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_41</description>
+                <ejb-ref-name>name_41</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_41</home>
+                <remote>remote_41</remote>
+                <ejb-link>link_41</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_42</description>
+                <ejb-ref-name>name_42</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_42</home>
+                <remote>remote_42</remote>
+                <ejb-link>link_42</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_43</description>
+                <ejb-ref-name>name_43</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_43</home>
+                <remote>remote_43</remote>
+                <ejb-link>link_43</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_44</description>
+                <ejb-ref-name>name_44</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_44</home>
+                <remote>remote_44</remote>
+                <ejb-link>link_44</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_40</description>
+                <ejb-ref-name>name_40</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_40</local-home>
+                <local>local_40</local>
+                <ejb-link>link_40</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_41</description>
+                <ejb-ref-name>name_41</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_41</local-home>
+                <local>local_41</local>
+                <ejb-link>link_41</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_42</description>
+                <ejb-ref-name>name_42</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_42</local-home>
+                <local>local_42</local>
+                <ejb-link>link_42</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_43</description>
+                <ejb-ref-name>name_43</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_43</local-home>
+                <local>local_43</local>
+                <ejb-link>link_43</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_44</description>
+                <ejb-ref-name>name_44</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_44</local-home>
+                <local>local_44</local>
+                <ejb-link>link_44</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_40</description>
+                <role-name>name_40</role-name>
+                <role-link>link_40</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_41</description>
+                <role-name>name_41</role-name>
+                <role-link>link_41</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_42</description>
+                <role-name>name_42</role-name>
+                <role-link>link_42</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_43</description>
+                <role-name>name_43</role-name>
+                <role-link>link_43</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_44</description>
+                <role-name>name_44</role-name>
+                <role-link>link_44</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_4</description>
+                <run-as>
+                    <description>description_4</description>
+                    <role-name>roleName_4</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_40</description>
+                <res-ref-name>name_40</res-ref-name>
+                <res-type>type_40</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_41</description>
+                <res-ref-name>name_41</res-ref-name>
+                <res-type>type_41</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_42</description>
+                <res-ref-name>name_42</res-ref-name>
+                <res-type>type_42</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_43</description>
+                <res-ref-name>name_43</res-ref-name>
+                <res-type>type_43</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_44</description>
+                <res-ref-name>name_44</res-ref-name>
+                <res-type>type_44</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_40</description>
+                <resource-env-ref-name>name_40</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_41</description>
+                <resource-env-ref-name>name_41</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_42</description>
+                <resource-env-ref-name>name_42</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_43</description>
+                <resource-env-ref-name>name_43</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_44</description>
+                <resource-env-ref-name>name_44</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_9</description>
+            <display-name>displayName_9</display-name>
+            <small-icon>smallIcon_9</small-icon>
+            <large-icon>largeIcon_9</large-icon>
+            <ejb-name>name_9</ejb-name>
+            <home>java.util.HashTable</home>
+            <remote>java.util.List</remote>
+            <local-home>java.sql.Data</local-home>
+            <local>java.lang.Integer</local>
+            <ejb-class>java.lang.String</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.String</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_45</description>
+                <env-entry-name>name_45</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_45</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_46</description>
+                <env-entry-name>name_46</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_46</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_47</description>
+                <env-entry-name>name_47</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_47</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_48</description>
+                <env-entry-name>name_48</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_48</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_49</description>
+                <env-entry-name>name_49</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_49</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_45</description>
+                <ejb-ref-name>name_45</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_45</home>
+                <remote>remote_45</remote>
+                <ejb-link>link_45</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_46</description>
+                <ejb-ref-name>name_46</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_46</home>
+                <remote>remote_46</remote>
+                <ejb-link>link_46</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_47</description>
+                <ejb-ref-name>name_47</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_47</home>
+                <remote>remote_47</remote>
+                <ejb-link>link_47</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_48</description>
+                <ejb-ref-name>name_48</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_48</home>
+                <remote>remote_48</remote>
+                <ejb-link>link_48</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_49</description>
+                <ejb-ref-name>name_49</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_49</home>
+                <remote>remote_49</remote>
+                <ejb-link>link_49</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_45</description>
+                <ejb-ref-name>name_45</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_45</local-home>
+                <local>local_45</local>
+                <ejb-link>link_45</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_46</description>
+                <ejb-ref-name>name_46</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_46</local-home>
+                <local>local_46</local>
+                <ejb-link>link_46</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_47</description>
+                <ejb-ref-name>name_47</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_47</local-home>
+                <local>local_47</local>
+                <ejb-link>link_47</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_48</description>
+                <ejb-ref-name>name_48</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>localHome_48</local-home>
+                <local>local_48</local>
+                <ejb-link>link_48</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_49</description>
+                <ejb-ref-name>name_49</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>localHome_49</local-home>
+                <local>local_49</local>
+                <ejb-link>link_49</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_45</description>
+                <role-name>name_45</role-name>
+                <role-link>link_45</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_46</description>
+                <role-name>name_46</role-name>
+                <role-link>link_46</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_47</description>
+                <role-name>name_47</role-name>
+                <role-link>link_47</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_48</description>
+                <role-name>name_48</role-name>
+                <role-link>link_48</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_49</description>
+                <role-name>name_49</role-name>
+                <role-link>link_49</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_4</description>
+                <use-caller-identity/>
+            </security-identity>
+            <resource-ref>
+                <description>description_45</description>
+                <res-ref-name>name_45</res-ref-name>
+                <res-type>type_45</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_46</description>
+                <res-ref-name>name_46</res-ref-name>
+                <res-type>type_46</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_47</description>
+                <res-ref-name>name_47</res-ref-name>
+                <res-type>type_47</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_48</description>
+                <res-ref-name>name_48</res-ref-name>
+                <res-type>type_48</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_49</description>
+                <res-ref-name>name_49</res-ref-name>
+                <res-type>type_49</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_45</description>
+                <resource-env-ref-name>name_45</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_46</description>
+                <resource-env-ref-name>name_46</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_47</description>
+                <resource-env-ref-name>name_47</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_48</description>
+                <resource-env-ref-name>name_48</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_49</description>
+                <resource-env-ref-name>name_49</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+    </enterprise-beans>
+    <relationships>
+        <description>description_0</description>
+        <ejb-relation>
+            <description>description_0</description>
+            <ejb-relation-name>name_0</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_0</description>
+                <ejb-relationship-role-name>roleName_0</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete/>
+                <relationship-role-source>
+                    <description>description_0</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_0</description>
+                    <cmr-field-name>name_0</cmr-field-name>
+                    <cmr-field-type>java.util.HashTable</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_1</description>
+                <ejb-relationship-role-name>roleName_1</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_1</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_1</description>
+                    <cmr-field-name>name_1</cmr-field-name>
+                    <cmr-field-type>java.util.List</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_1</description>
+            <ejb-relation-name>name_1</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_2</description>
+                <ejb-relationship-role-name>roleName_2</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete/>
+                <relationship-role-source>
+                    <description>description_2</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_2</description>
+                    <cmr-field-name>name_2</cmr-field-name>
+                    <cmr-field-type>java.sql.Data</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_3</description>
+                <ejb-relationship-role-name>roleName_3</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_3</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_3</description>
+                    <cmr-field-name>name_3</cmr-field-name>
+                    <cmr-field-type>java.lang.Integer</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_2</description>
+            <ejb-relation-name>name_2</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_4</description>
+                <ejb-relationship-role-name>roleName_4</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete/>
+                <relationship-role-source>
+                    <description>description_4</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_4</description>
+                    <cmr-field-name>name_4</cmr-field-name>
+                    <cmr-field-type>java.lang.String</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_5</description>
+                <ejb-relationship-role-name>roleName_5</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_5</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_5</description>
+                    <cmr-field-name>name_5</cmr-field-name>
+                    <cmr-field-type>java.util.HashTable</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_3</description>
+            <ejb-relation-name>name_3</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_6</description>
+                <ejb-relationship-role-name>roleName_6</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete/>
+                <relationship-role-source>
+                    <description>description_6</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_6</description>
+                    <cmr-field-name>name_6</cmr-field-name>
+                    <cmr-field-type>java.util.List</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_7</description>
+                <ejb-relationship-role-name>roleName_7</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_7</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_7</description>
+                    <cmr-field-name>name_7</cmr-field-name>
+                    <cmr-field-type>java.sql.Data</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_4</description>
+            <ejb-relation-name>name_4</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_8</description>
+                <ejb-relationship-role-name>roleName_8</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete/>
+                <relationship-role-source>
+                    <description>description_8</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_8</description>
+                    <cmr-field-name>name_8</cmr-field-name>
+                    <cmr-field-type>java.lang.Integer</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_9</description>
+                <ejb-relationship-role-name>roleName_9</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_9</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_9</description>
+                    <cmr-field-name>name_9</cmr-field-name>
+                    <cmr-field-type>java.lang.String</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+    </relationships>
+    <assembly-descriptor>
+        <security-role>
+            <description>description_5</description>
+            <role-name>roleName_5</role-name>
+        </security-role>
+        <security-role>
+            <description>description_6</description>
+            <role-name>roleName_6</role-name>
+        </security-role>
+        <security-role>
+            <description>description_7</description>
+            <role-name>roleName_7</role-name>
+        </security-role>
+        <security-role>
+            <description>description_8</description>
+            <role-name>roleName_8</role-name>
+        </security-role>
+        <security-role>
+            <description>description_9</description>
+            <role-name>roleName_9</role-name>
+        </security-role>
+        <method-permission>
+            <description>description_0</description>
+            <unchecked/>
+            <method>
+                <description>description_0</description>
+                <method-name>name_0</method-name>
+            </method>
+            <method>
+                <description>description_1</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_1</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_2</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_2</method-name>
+                <method-params>
+                    <method-param>parms_0</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_3</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_3</method-name>
+                <method-params>
+                    <method-param>parms_1</method-param>
+                    <method-param>parms_2</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_4</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_4</method-name>
+                <method-params>
+                    <method-param>parms_3</method-param>
+                    <method-param>parms_4</method-param>
+                    <method-param>parms_5</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_1</description>
+            <method>
+                <description>description_5</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_5</method-name>
+            </method>
+            <method>
+                <description>description_6</description>
+                <method-name>name_6</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_7</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_7</method-name>
+                <method-params>
+                    <method-param>parms_6</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_8</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_8</method-name>
+                <method-params>
+                    <method-param>parms_7</method-param>
+                    <method-param>parms_8</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_9</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_9</method-name>
+                <method-params>
+                    <method-param>parms_9</method-param>
+                    <method-param>parms_10</method-param>
+                    <method-param>parms_11</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_2</description>
+            <unchecked/>
+            <method>
+                <description>description_10</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_10</method-name>
+            </method>
+            <method>
+                <description>description_11</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_11</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_12</description>
+                <method-name>name_12</method-name>
+                <method-params>
+                    <method-param>parms_12</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_13</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_13</method-name>
+                <method-params>
+                    <method-param>parms_13</method-param>
+                    <method-param>parms_14</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_14</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_14</method-name>
+                <method-params>
+                    <method-param>parms_15</method-param>
+                    <method-param>parms_16</method-param>
+                    <method-param>parms_17</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_3</description>
+            <method>
+                <description>description_15</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_15</method-name>
+            </method>
+            <method>
+                <description>description_16</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_16</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_17</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_17</method-name>
+                <method-params>
+                    <method-param>parms_18</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_18</description>
+                <method-name>name_18</method-name>
+                <method-params>
+                    <method-param>parms_19</method-param>
+                    <method-param>parms_20</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_19</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_19</method-name>
+                <method-params>
+                    <method-param>parms_21</method-param>
+                    <method-param>parms_22</method-param>
+                    <method-param>parms_23</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_4</description>
+            <unchecked/>
+            <method>
+                <description>description_20</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_20</method-name>
+            </method>
+            <method>
+                <description>description_21</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_21</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_22</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_22</method-name>
+                <method-params>
+                    <method-param>parms_24</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_23</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_23</method-name>
+                <method-params>
+                    <method-param>parms_25</method-param>
+                    <method-param>parms_26</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_24</description>
+                <method-name>name_24</method-name>
+                <method-params>
+                    <method-param>parms_27</method-param>
+                    <method-param>parms_28</method-param>
+                    <method-param>parms_29</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <container-transaction>
+            <description>description_0</description>
+            <method>
+                <description>description_25</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_25</method-name>
+            </method>
+            <method>
+                <description>description_26</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_26</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_27</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_27</method-name>
+                <method-params>
+                    <method-param>parms_30</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_28</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_28</method-name>
+                <method-params>
+                    <method-param>parms_31</method-param>
+                    <method-param>parms_32</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_29</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_29</method-name>
+                <method-params>
+                    <method-param>parms_33</method-param>
+                    <method-param>parms_34</method-param>
+                    <method-param>parms_35</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>NotSupported</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_1</description>
+            <method>
+                <description>description_30</description>
+                <method-name>name_30</method-name>
+            </method>
+            <method>
+                <description>description_31</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_31</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_32</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_32</method-name>
+                <method-params>
+                    <method-param>parms_36</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_33</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_33</method-name>
+                <method-params>
+                    <method-param>parms_37</method-param>
+                    <method-param>parms_38</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_34</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_34</method-name>
+                <method-params>
+                    <method-param>parms_39</method-param>
+                    <method-param>parms_40</method-param>
+                    <method-param>parms_41</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_2</description>
+            <method>
+                <description>description_35</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_35</method-name>
+            </method>
+            <method>
+                <description>description_36</description>
+                <method-name>name_36</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_37</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_37</method-name>
+                <method-params>
+                    <method-param>parms_42</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_38</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_38</method-name>
+                <method-params>
+                    <method-param>parms_43</method-param>
+                    <method-param>parms_44</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_39</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_39</method-name>
+                <method-params>
+                    <method-param>parms_45</method-param>
+                    <method-param>parms_46</method-param>
+                    <method-param>parms_47</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Required</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_3</description>
+            <method>
+                <description>description_40</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_40</method-name>
+            </method>
+            <method>
+                <description>description_41</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_41</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_42</description>
+                <method-name>name_42</method-name>
+                <method-params>
+                    <method-param>parms_48</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_43</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_43</method-name>
+                <method-params>
+                    <method-param>parms_49</method-param>
+                    <method-param>parms_50</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_44</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_44</method-name>
+                <method-params>
+                    <method-param>parms_51</method-param>
+                    <method-param>parms_52</method-param>
+                    <method-param>parms_53</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>RequiresNew</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_4</description>
+            <method>
+                <description>description_45</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_45</method-name>
+            </method>
+            <method>
+                <description>description_46</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_46</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_47</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_47</method-name>
+                <method-params>
+                    <method-param>parms_54</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_48</description>
+                <method-name>name_48</method-name>
+                <method-params>
+                    <method-param>parms_55</method-param>
+                    <method-param>parms_56</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_49</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_49</method-name>
+                <method-params>
+                    <method-param>parms_57</method-param>
+                    <method-param>parms_58</method-param>
+                    <method-param>parms_59</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Mandatory</trans-attribute>
+        </container-transaction>
+        <exclude-list>
+            <description>description_0</description>
+            <method>
+                <description>description_50</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_50</method-name>
+            </method>
+            <method>
+                <description>description_51</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_51</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_52</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_52</method-name>
+                <method-params>
+                    <method-param>parms_60</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_53</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_53</method-name>
+                <method-params>
+                    <method-param>parms_61</method-param>
+                    <method-param>parms_62</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_54</description>
+                <method-name>name_54</method-name>
+                <method-params>
+                    <method-param>parms_63</method-param>
+                    <method-param>parms_64</method-param>
+                    <method-param>parms_65</method-param>
+                </method-params>
+            </method>
+        </exclude-list>
+    </assembly-descriptor>
+    <ejb-client-jar>ejbClientJar_0</ejb-client-jar>
+</ejb-jar>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar2-0.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar2-0.xml
new file mode 100644
index 0000000..28b4822
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar2-0.xml
@@ -0,0 +1,2818 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
+<ejb-jar id="ejb-jar_ID">
+    <description>description_0</description>
+	<display-name>displayName_0</display-name>
+    <small-icon>smallIcon_0</small-icon>
+    <large-icon>largeIcon_0</large-icon>
+	<enterprise-beans>
+		<entity id="CMP1">
+			<ejb-name>CMP1</ejb-name>
+			<local-home>ejbs.CMP1LocalHome</local-home>
+			<local>ejbs.CMP1Local</local>
+			<ejb-class>ejbs.CMP1Bean</ejb-class>
+			<persistence-type>Container</persistence-type>
+			<prim-key-class>ejbs.CMP1Key</prim-key-class>
+			<reentrant>False</reentrant>
+			<cmp-version>2.x</cmp-version>
+			<abstract-schema-name>CMP1</abstract-schema-name>
+			<cmp-field>
+				<field-name>id</field-name>
+			</cmp-field>
+		</entity>
+		<entity id="CMP2">
+			<ejb-name>CMP2</ejb-name>
+			<local-home>ejbs.CMP2LocalHome</local-home>
+			<local>ejbs.CMP2Local</local>
+			<ejb-class>ejbs.CMP2Bean</ejb-class>
+			<persistence-type>Container</persistence-type>
+			<prim-key-class>ejbs.CMP2Key</prim-key-class>
+			<reentrant>False</reentrant>
+			<cmp-version>2.x</cmp-version>
+			<abstract-schema-name>CMP2</abstract-schema-name>
+			<cmp-field>
+				<field-name>id</field-name>
+			</cmp-field>
+		</entity>
+        <entity>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.sql.Data</remote>
+            <local-home>java.lang.Integer</local-home>
+            <local>java.lang.String</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_0</description>
+                <env-entry-name>name_0</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_0</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_1</description>
+                <env-entry-name>name_1</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_1</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_2</description>
+                <env-entry-name>name_2</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_2</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_3</description>
+                <env-entry-name>name_3</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_3</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_4</description>
+                <env-entry-name>name_4</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_4</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_0</description>
+                <ejb-ref-name>name_0</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_0</home>
+                <remote>remote_0</remote>
+                <ejb-link>link_0</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_1</description>
+                <ejb-ref-name>name_1</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_1</home>
+                <remote>remote_1</remote>
+                <ejb-link>link_1</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_2</description>
+                <ejb-ref-name>name_2</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_2</home>
+                <remote>remote_2</remote>
+                <ejb-link>link_2</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_3</description>
+                <ejb-ref-name>name_3</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_3</home>
+                <remote>remote_3</remote>
+                <ejb-link>link_3</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_4</description>
+                <ejb-ref-name>name_4</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_4</home>
+                <remote>remote_4</remote>
+                <ejb-link>link_4</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_0</description>
+                <ejb-ref-name>name_0</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_1</local-home>
+                <local>remote_1</local>
+                <ejb-link>link_0</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_1</description>
+                <ejb-ref-name>name_1</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_3</local-home>
+                <local>remote_3</local>
+                <ejb-link>link_1</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_2</description>
+                <ejb-ref-name>name_2</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_5</local-home>
+                <local>remote_5</local>
+                <ejb-link>link_2</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_3</description>
+                <ejb-ref-name>name_3</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_7</local-home>
+                <local>remote_7</local>
+                <ejb-link>link_3</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_4</description>
+                <ejb-ref-name>name_4</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_9</local-home>
+                <local>remote_9</local>
+                <ejb-link>link_4</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <role-name>name_0</role-name>
+                <role-link>link_0</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_1</role-name>
+                <role-link>link_1</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_2</role-name>
+                <role-link>link_2</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_3</role-name>
+                <role-link>link_3</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_4</role-name>
+                <role-link>link_4</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_0</description>
+                <run-as>
+                    <description>description_0</description>
+                    <role-name>roleName_0</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_0</description>
+                <res-ref-name>name_0</res-ref-name>
+                <res-type>type_0</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_1</description>
+                <res-ref-name>name_1</res-ref-name>
+                <res-type>type_1</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_2</description>
+                <res-ref-name>name_2</res-ref-name>
+                <res-type>type_2</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_3</description>
+                <res-ref-name>name_3</res-ref-name>
+                <res-type>type_3</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_4</description>
+                <res-ref-name>name_4</res-ref-name>
+                <res-type>type_4</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_0</description>
+                <resource-env-ref-name>name_0</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_1</description>
+                <resource-env-ref-name>name_1</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_2</description>
+                <resource-env-ref-name>name_2</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_3</description>
+                <resource-env-ref-name>name_3</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_4</description>
+                <resource-env-ref-name>name_4</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_1</description>
+            <display-name>displayName_1</display-name>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+            <ejb-name>name_1</ejb-name>
+            <home>java.sql.Data</home>
+            <remote>java.lang.Integer</remote>
+            <local-home>java.lang.String</local-home>
+            <local>java.util.HashTable</local>
+            <ejb-class>java.util.List</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.List</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_5</description>
+                <env-entry-name>name_5</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_5</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_6</description>
+                <env-entry-name>name_6</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_6</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_7</description>
+                <env-entry-name>name_7</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_7</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_8</description>
+                <env-entry-name>name_8</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_8</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_9</description>
+                <env-entry-name>name_9</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_9</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_5</description>
+                <ejb-ref-name>name_5</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_5</home>
+                <remote>remote_5</remote>
+                <ejb-link>link_5</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_6</description>
+                <ejb-ref-name>name_6</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_6</home>
+                <remote>remote_6</remote>
+                <ejb-link>link_6</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_7</description>
+                <ejb-ref-name>name_7</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_7</home>
+                <remote>remote_7</remote>
+                <ejb-link>link_7</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_8</description>
+                <ejb-ref-name>name_8</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_8</home>
+                <remote>remote_8</remote>
+                <ejb-link>link_8</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_9</description>
+                <ejb-ref-name>name_9</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_9</home>
+                <remote>remote_9</remote>
+                <ejb-link>link_9</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_5</description>
+                <ejb-ref-name>name_5</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_11</local-home>
+                <local>remote_11</local>
+                <ejb-link>link_5</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_6</description>
+                <ejb-ref-name>name_6</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_13</local-home>
+                <local>remote_13</local>
+                <ejb-link>link_6</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_7</description>
+                <ejb-ref-name>name_7</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_15</local-home>
+                <local>remote_15</local>
+                <ejb-link>link_7</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_8</description>
+                <ejb-ref-name>name_8</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_17</local-home>
+                <local>remote_17</local>
+                <ejb-link>link_8</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_9</description>
+                <ejb-ref-name>name_9</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_19</local-home>
+                <local>remote_19</local>
+                <ejb-link>link_9</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <role-name>name_5</role-name>
+                <role-link>link_5</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_6</role-name>
+                <role-link>link_6</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_7</role-name>
+                <role-link>link_7</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_8</role-name>
+                <role-link>link_8</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_9</role-name>
+                <role-link>link_9</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_0</description>
+                <use-caller-identity></use-caller-identity>
+            </security-identity>
+            <resource-ref>
+                <description>description_5</description>
+                <res-ref-name>name_5</res-ref-name>
+                <res-type>type_5</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_6</description>
+                <res-ref-name>name_6</res-ref-name>
+                <res-type>type_6</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_7</description>
+                <res-ref-name>name_7</res-ref-name>
+                <res-type>type_7</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_8</description>
+                <res-ref-name>name_8</res-ref-name>
+                <res-type>type_8</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_9</description>
+                <res-ref-name>name_9</res-ref-name>
+                <res-type>type_9</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_5</description>
+                <resource-env-ref-name>name_5</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_6</description>
+                <resource-env-ref-name>name_6</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_7</description>
+                <resource-env-ref-name>name_7</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_8</description>
+                <resource-env-ref-name>name_8</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_9</description>
+                <resource-env-ref-name>name_9</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <home>java.lang.Integer</home>
+            <remote>java.lang.String</remote>
+            <local-home>java.util.HashTable</local-home>
+            <local>java.util.List</local>
+            <ejb-class>java.sql.Data</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.sql.Data</prim-key-class>
+            <reentrant>True</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>abstractSchemaName_0</abstract-schema-name>
+            <cmp-field>
+                <description>description_1</description>
+                <field-name>name_1</field-name>
+            </cmp-field>
+            <cmp-field>
+                <description>description_3</description>
+                <field-name>name_3</field-name>
+            </cmp-field>
+            <cmp-field>
+                <description>description_4</description>
+                <field-name>name_4</field-name>
+            </cmp-field>
+            <env-entry>
+                <description>description_10</description>
+                <env-entry-name>name_10</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_10</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_11</description>
+                <env-entry-name>name_11</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_11</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_12</description>
+                <env-entry-name>name_12</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_12</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_13</description>
+                <env-entry-name>name_13</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_13</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_14</description>
+                <env-entry-name>name_14</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_14</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_10</description>
+                <ejb-ref-name>name_10</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_10</home>
+                <remote>remote_10</remote>
+                <ejb-link>link_10</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_11</description>
+                <ejb-ref-name>name_11</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_11</home>
+                <remote>remote_11</remote>
+                <ejb-link>link_11</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_12</description>
+                <ejb-ref-name>name_12</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_12</home>
+                <remote>remote_12</remote>
+                <ejb-link>link_12</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_13</description>
+                <ejb-ref-name>name_13</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_13</home>
+                <remote>remote_13</remote>
+                <ejb-link>link_13</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_14</description>
+                <ejb-ref-name>name_14</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_14</home>
+                <remote>remote_14</remote>
+                <ejb-link>link_14</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_10</description>
+                <ejb-ref-name>name_10</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_21</local-home>
+                <local>remote_21</local>
+                <ejb-link>link_10</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_11</description>
+                <ejb-ref-name>name_11</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_23</local-home>
+                <local>remote_23</local>
+                <ejb-link>link_11</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_12</description>
+                <ejb-ref-name>name_12</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_25</local-home>
+                <local>remote_25</local>
+                <ejb-link>link_12</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_13</description>
+                <ejb-ref-name>name_13</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_27</local-home>
+                <local>remote_27</local>
+                <ejb-link>link_13</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_14</description>
+                <ejb-ref-name>name_14</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_29</local-home>
+                <local>remote_29</local>
+                <ejb-link>link_14</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <role-name>name_10</role-name>
+                <role-link>link_10</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_11</role-name>
+                <role-link>link_11</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_12</role-name>
+                <role-link>link_12</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_13</role-name>
+                <role-link>link_13</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_14</role-name>
+                <role-link>link_14</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_1</description>
+                <run-as>
+                    <description>description_1</description>
+                    <role-name>roleName_1</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_10</description>
+                <res-ref-name>name_10</res-ref-name>
+                <res-type>type_10</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_11</description>
+                <res-ref-name>name_11</res-ref-name>
+                <res-type>type_11</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_12</description>
+                <res-ref-name>name_12</res-ref-name>
+                <res-type>type_12</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_13</description>
+                <res-ref-name>name_13</res-ref-name>
+                <res-type>type_13</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_14</description>
+                <res-ref-name>name_14</res-ref-name>
+                <res-type>type_14</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_10</description>
+                <resource-env-ref-name>name_10</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_11</description>
+                <resource-env-ref-name>name_11</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_12</description>
+                <resource-env-ref-name>name_12</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_13</description>
+                <resource-env-ref-name>name_13</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_14</description>
+                <resource-env-ref-name>name_14</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <query>
+                <description>description_0</description>
+                <query-method>
+                    <method-name>name_0</method-name>
+                </query-method>
+                <result-type-mapping>Local</result-type-mapping>
+                <ejb-ql>ejbQL_0</ejb-ql>
+            </query>
+            <query>
+                <description>description_1</description>
+                <query-method>
+                    <method-name>name_1</method-name>
+                    <method-params/>
+                </query-method>
+                <result-type-mapping>Remote</result-type-mapping>
+                <ejb-ql>ejbQL_1</ejb-ql>
+            </query>
+            <query>
+                <description>description_2</description>
+                <query-method>
+                    <method-name>name_2</method-name>
+                    <method-params>
+                        <method-param>parms_0</method-param>
+                    </method-params>
+                </query-method>
+                <result-type-mapping>Local</result-type-mapping>
+                <ejb-ql>ejbQL_2</ejb-ql>
+            </query>
+            <query>
+                <description>description_3</description>
+                <query-method>
+                    <method-name>name_3</method-name>
+                    <method-params>
+                        <method-param>parms_1</method-param>
+                        <method-param>parms_2</method-param>
+                    </method-params>
+                </query-method>
+                <result-type-mapping>Remote</result-type-mapping>
+                <ejb-ql>ejbQL_3</ejb-ql>
+            </query>
+            <query>
+                <description>description_4</description>
+                <query-method>
+                    <method-name>name_4</method-name>
+                    <method-params>
+                        <method-param>parms_3</method-param>
+                        <method-param>parms_4</method-param>
+                        <method-param>parms_5</method-param>
+                    </method-params>
+                </query-method>
+                <result-type-mapping>Local</result-type-mapping>
+                <ejb-ql>ejbQL_4</ejb-ql>
+            </query>
+        </entity>
+        <session>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <home>java.lang.String</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.List</local-home>
+            <local>java.sql.Data</local>
+            <ejb-class>java.lang.Integer</ejb-class>
+            <session-type>Stateful</session-type>
+            <transaction-type>Bean</transaction-type>
+            <env-entry>
+                <description>description_15</description>
+                <env-entry-name>name_15</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_15</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_16</description>
+                <env-entry-name>name_16</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_16</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_17</description>
+                <env-entry-name>name_17</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_17</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_18</description>
+                <env-entry-name>name_18</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_18</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_19</description>
+                <env-entry-name>name_19</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_19</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_15</description>
+                <ejb-ref-name>name_15</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_15</home>
+                <remote>remote_15</remote>
+                <ejb-link>link_15</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_16</description>
+                <ejb-ref-name>name_16</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_16</home>
+                <remote>remote_16</remote>
+                <ejb-link>link_16</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_17</description>
+                <ejb-ref-name>name_17</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_17</home>
+                <remote>remote_17</remote>
+                <ejb-link>link_17</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_18</description>
+                <ejb-ref-name>name_18</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_18</home>
+                <remote>remote_18</remote>
+                <ejb-link>link_18</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_19</description>
+                <ejb-ref-name>name_19</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_19</home>
+                <remote>remote_19</remote>
+                <ejb-link>link_19</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_15</description>
+                <ejb-ref-name>name_15</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_31</local-home>
+                <local>remote_31</local>
+                <ejb-link>link_15</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_16</description>
+                <ejb-ref-name>name_16</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_33</local-home>
+                <local>remote_33</local>
+                <ejb-link>link_16</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_17</description>
+                <ejb-ref-name>name_17</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_35</local-home>
+                <local>remote_35</local>
+                <ejb-link>link_17</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_18</description>
+                <ejb-ref-name>name_18</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_37</local-home>
+                <local>remote_37</local>
+                <ejb-link>link_18</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_19</description>
+                <ejb-ref-name>name_19</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_39</local-home>
+                <local>remote_39</local>
+                <ejb-link>link_19</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <role-name>name_15</role-name>
+                <role-link>link_15</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_16</role-name>
+                <role-link>link_16</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_17</role-name>
+                <role-link>link_17</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_18</role-name>
+                <role-link>link_18</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_19</role-name>
+                <role-link>link_19</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_1</description>
+                <use-caller-identity></use-caller-identity>
+            </security-identity>
+            <resource-ref>
+                <description>description_15</description>
+                <res-ref-name>name_15</res-ref-name>
+                <res-type>type_15</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_16</description>
+                <res-ref-name>name_16</res-ref-name>
+                <res-type>type_16</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_17</description>
+                <res-ref-name>name_17</res-ref-name>
+                <res-type>type_17</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_18</description>
+                <res-ref-name>name_18</res-ref-name>
+                <res-type>type_18</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_19</description>
+                <res-ref-name>name_19</res-ref-name>
+                <res-type>type_19</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_15</description>
+                <resource-env-ref-name>name_15</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_16</description>
+                <resource-env-ref-name>name_16</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_17</description>
+                <resource-env-ref-name>name_17</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_18</description>
+                <resource-env-ref-name>name_18</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_19</description>
+                <resource-env-ref-name>name_19</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+        </session>
+        <entity>
+            <description>description_2</description>
+            <display-name>displayName_2</display-name>
+            <small-icon>smallIcon_2</small-icon>
+            <large-icon>largeIcon_2</large-icon>
+            <ejb-name>name_2</ejb-name>
+            <home>java.util.HashTable</home>
+            <remote>java.util.List</remote>
+            <local-home>java.sql.Data</local-home>
+            <local>java.lang.Integer</local>
+            <ejb-class>java.lang.String</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.String</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_20</description>
+                <env-entry-name>name_20</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_20</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_21</description>
+                <env-entry-name>name_21</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_21</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_22</description>
+                <env-entry-name>name_22</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_22</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_23</description>
+                <env-entry-name>name_23</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_23</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_24</description>
+                <env-entry-name>name_24</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_24</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_20</description>
+                <ejb-ref-name>name_20</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_20</home>
+                <remote>remote_20</remote>
+                <ejb-link>link_20</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_21</description>
+                <ejb-ref-name>name_21</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_21</home>
+                <remote>remote_21</remote>
+                <ejb-link>link_21</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_22</description>
+                <ejb-ref-name>name_22</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_22</home>
+                <remote>remote_22</remote>
+                <ejb-link>link_22</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_23</description>
+                <ejb-ref-name>name_23</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_23</home>
+                <remote>remote_23</remote>
+                <ejb-link>link_23</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_24</description>
+                <ejb-ref-name>name_24</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_24</home>
+                <remote>remote_24</remote>
+                <ejb-link>link_24</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_20</description>
+                <ejb-ref-name>name_20</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_41</local-home>
+                <local>remote_41</local>
+                <ejb-link>link_20</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_21</description>
+                <ejb-ref-name>name_21</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_43</local-home>
+                <local>remote_43</local>
+                <ejb-link>link_21</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_22</description>
+                <ejb-ref-name>name_22</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_45</local-home>
+                <local>remote_45</local>
+                <ejb-link>link_22</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_23</description>
+                <ejb-ref-name>name_23</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_47</local-home>
+                <local>remote_47</local>
+                <ejb-link>link_23</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_24</description>
+                <ejb-ref-name>name_24</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_49</local-home>
+                <local>remote_49</local>
+                <ejb-link>link_24</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <role-name>name_20</role-name>
+                <role-link>link_20</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_21</role-name>
+                <role-link>link_21</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_22</role-name>
+                <role-link>link_22</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_23</role-name>
+                <role-link>link_23</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_24</role-name>
+                <role-link>link_24</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_2</description>
+                <run-as>
+                    <description>description_2</description>
+                    <role-name>roleName_2</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_20</description>
+                <res-ref-name>name_20</res-ref-name>
+                <res-type>type_20</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_21</description>
+                <res-ref-name>name_21</res-ref-name>
+                <res-type>type_21</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_22</description>
+                <res-ref-name>name_22</res-ref-name>
+                <res-type>type_22</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_23</description>
+                <res-ref-name>name_23</res-ref-name>
+                <res-type>type_23</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_24</description>
+                <res-ref-name>name_24</res-ref-name>
+                <res-type>type_24</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_20</description>
+                <resource-env-ref-name>name_20</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_21</description>
+                <resource-env-ref-name>name_21</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_22</description>
+                <resource-env-ref-name>name_22</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_23</description>
+                <resource-env-ref-name>name_23</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_24</description>
+                <resource-env-ref-name>name_24</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_3</description>
+            <display-name>displayName_3</display-name>
+            <small-icon>smallIcon_3</small-icon>
+            <large-icon>largeIcon_3</large-icon>
+            <ejb-name>name_3</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.sql.Data</remote>
+            <local-home>java.lang.Integer</local-home>
+            <local>java.lang.String</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_25</description>
+                <env-entry-name>name_25</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_25</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_26</description>
+                <env-entry-name>name_26</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_26</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_27</description>
+                <env-entry-name>name_27</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_27</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_28</description>
+                <env-entry-name>name_28</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_28</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_29</description>
+                <env-entry-name>name_29</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_29</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_25</description>
+                <ejb-ref-name>name_25</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_25</home>
+                <remote>remote_25</remote>
+                <ejb-link>link_25</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_26</description>
+                <ejb-ref-name>name_26</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_26</home>
+                <remote>remote_26</remote>
+                <ejb-link>link_26</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_27</description>
+                <ejb-ref-name>name_27</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_27</home>
+                <remote>remote_27</remote>
+                <ejb-link>link_27</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_28</description>
+                <ejb-ref-name>name_28</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_28</home>
+                <remote>remote_28</remote>
+                <ejb-link>link_28</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_29</description>
+                <ejb-ref-name>name_29</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_29</home>
+                <remote>remote_29</remote>
+                <ejb-link>link_29</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_25</description>
+                <ejb-ref-name>name_25</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_51</local-home>
+                <local>remote_51</local>
+                <ejb-link>link_25</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_26</description>
+                <ejb-ref-name>name_26</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_53</local-home>
+                <local>remote_53</local>
+                <ejb-link>link_26</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_27</description>
+                <ejb-ref-name>name_27</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_55</local-home>
+                <local>remote_55</local>
+                <ejb-link>link_27</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_28</description>
+                <ejb-ref-name>name_28</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_57</local-home>
+                <local>remote_57</local>
+                <ejb-link>link_28</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_29</description>
+                <ejb-ref-name>name_29</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_59</local-home>
+                <local>remote_59</local>
+                <ejb-link>link_29</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <role-name>name_25</role-name>
+                <role-link>link_25</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_26</role-name>
+                <role-link>link_26</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_27</role-name>
+                <role-link>link_27</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_28</role-name>
+                <role-link>link_28</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_29</role-name>
+                <role-link>link_29</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_2</description>
+                <use-caller-identity></use-caller-identity>
+            </security-identity>
+            <resource-ref>
+                <description>description_25</description>
+                <res-ref-name>name_25</res-ref-name>
+                <res-type>type_25</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_26</description>
+                <res-ref-name>name_26</res-ref-name>
+                <res-type>type_26</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_27</description>
+                <res-ref-name>name_27</res-ref-name>
+                <res-type>type_27</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_28</description>
+                <res-ref-name>name_28</res-ref-name>
+                <res-type>type_28</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_29</description>
+                <res-ref-name>name_29</res-ref-name>
+                <res-type>type_29</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_25</description>
+                <resource-env-ref-name>name_25</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_26</description>
+                <resource-env-ref-name>name_26</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_27</description>
+                <resource-env-ref-name>name_27</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_28</description>
+                <resource-env-ref-name>name_28</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_29</description>
+                <resource-env-ref-name>name_29</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <message-driven>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <ejb-class>java.util.List</ejb-class>
+            <transaction-type>Bean</transaction-type>
+            <message-selector>messageSelector_0</message-selector>
+            <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
+            <message-driven-destination>
+                <destination-type>javax.jms.Queue</destination-type>
+                <subscription-durability>Durable</subscription-durability>
+            </message-driven-destination>
+            <env-entry>
+                <description>description_30</description>
+                <env-entry-name>name_30</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_30</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_31</description>
+                <env-entry-name>name_31</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_31</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_32</description>
+                <env-entry-name>name_32</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_32</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_33</description>
+                <env-entry-name>name_33</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_33</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_34</description>
+                <env-entry-name>name_34</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_34</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_30</description>
+                <ejb-ref-name>name_30</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_30</home>
+                <remote>remote_30</remote>
+                <ejb-link>link_30</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_31</description>
+                <ejb-ref-name>name_31</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_31</home>
+                <remote>remote_31</remote>
+                <ejb-link>link_31</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_32</description>
+                <ejb-ref-name>name_32</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_32</home>
+                <remote>remote_32</remote>
+                <ejb-link>link_32</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_33</description>
+                <ejb-ref-name>name_33</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_33</home>
+                <remote>remote_33</remote>
+                <ejb-link>link_33</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_34</description>
+                <ejb-ref-name>name_34</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_34</home>
+                <remote>remote_34</remote>
+                <ejb-link>link_34</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_30</description>
+                <ejb-ref-name>name_30</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_61</local-home>
+                <local>remote_61</local>
+                <ejb-link>link_30</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_31</description>
+                <ejb-ref-name>name_31</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_63</local-home>
+                <local>remote_63</local>
+                <ejb-link>link_31</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_32</description>
+                <ejb-ref-name>name_32</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_65</local-home>
+                <local>remote_65</local>
+                <ejb-link>link_32</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_33</description>
+                <ejb-ref-name>name_33</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_67</local-home>
+                <local>remote_67</local>
+                <ejb-link>link_33</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_34</description>
+                <ejb-ref-name>name_34</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_69</local-home>
+                <local>remote_69</local>
+                <ejb-link>link_34</ejb-link>
+            </ejb-local-ref>
+            <security-identity>
+                <description>description_3</description>
+                <run-as>
+                    <description>description_3</description>
+                    <role-name>roleName_3</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_30</description>
+                <res-ref-name>name_30</res-ref-name>
+                <res-type>type_30</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_31</description>
+                <res-ref-name>name_31</res-ref-name>
+                <res-type>type_31</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_32</description>
+                <res-ref-name>name_32</res-ref-name>
+                <res-type>type_32</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_33</description>
+                <res-ref-name>name_33</res-ref-name>
+                <res-type>type_33</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_34</description>
+                <res-ref-name>name_34</res-ref-name>
+                <res-type>type_34</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_30</description>
+                <resource-env-ref-name>name_30</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_31</description>
+                <resource-env-ref-name>name_31</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_32</description>
+                <resource-env-ref-name>name_32</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_33</description>
+                <resource-env-ref-name>name_33</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_34</description>
+                <resource-env-ref-name>name_34</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+        </message-driven>
+        <session>
+            <description>description_1</description>
+            <display-name>displayName_1</display-name>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+            <ejb-name>name_1</ejb-name>
+            <home>java.lang.String</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.List</local-home>
+            <local>java.sql.Data</local>
+            <ejb-class>java.lang.Integer</ejb-class>
+            <session-type>Stateless</session-type>
+            <transaction-type>Container</transaction-type>
+            <env-entry>
+                <description>description_35</description>
+                <env-entry-name>name_35</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_35</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_36</description>
+                <env-entry-name>name_36</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_36</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_37</description>
+                <env-entry-name>name_37</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_37</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_38</description>
+                <env-entry-name>name_38</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_38</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_39</description>
+                <env-entry-name>name_39</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_39</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_35</description>
+                <ejb-ref-name>name_35</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_35</home>
+                <remote>remote_35</remote>
+                <ejb-link>link_35</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_36</description>
+                <ejb-ref-name>name_36</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_36</home>
+                <remote>remote_36</remote>
+                <ejb-link>link_36</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_37</description>
+                <ejb-ref-name>name_37</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_37</home>
+                <remote>remote_37</remote>
+                <ejb-link>link_37</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_38</description>
+                <ejb-ref-name>name_38</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_38</home>
+                <remote>remote_38</remote>
+                <ejb-link>link_38</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_39</description>
+                <ejb-ref-name>name_39</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_39</home>
+                <remote>remote_39</remote>
+                <ejb-link>link_39</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_35</description>
+                <ejb-ref-name>name_35</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_71</local-home>
+                <local>remote_71</local>
+                <ejb-link>link_35</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_36</description>
+                <ejb-ref-name>name_36</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_73</local-home>
+                <local>remote_73</local>
+                <ejb-link>link_36</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_37</description>
+                <ejb-ref-name>name_37</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_75</local-home>
+                <local>remote_75</local>
+                <ejb-link>link_37</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_38</description>
+                <ejb-ref-name>name_38</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_77</local-home>
+                <local>remote_77</local>
+                <ejb-link>link_38</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_39</description>
+                <ejb-ref-name>name_39</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_79</local-home>
+                <local>remote_79</local>
+                <ejb-link>link_39</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <role-name>name_35</role-name>
+                <role-link>link_35</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_36</role-name>
+                <role-link>link_36</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_37</role-name>
+                <role-link>link_37</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_38</role-name>
+                <role-link>link_38</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_39</role-name>
+                <role-link>link_39</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_3</description>
+                <use-caller-identity></use-caller-identity>
+            </security-identity>
+            <resource-ref>
+                <description>description_35</description>
+                <res-ref-name>name_35</res-ref-name>
+                <res-type>type_35</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_36</description>
+                <res-ref-name>name_36</res-ref-name>
+                <res-type>type_36</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_37</description>
+                <res-ref-name>name_37</res-ref-name>
+                <res-type>type_37</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_38</description>
+                <res-ref-name>name_38</res-ref-name>
+                <res-type>type_38</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_39</description>
+                <res-ref-name>name_39</res-ref-name>
+                <res-type>type_39</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_35</description>
+                <resource-env-ref-name>name_35</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_36</description>
+                <resource-env-ref-name>name_36</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_37</description>
+                <resource-env-ref-name>name_37</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_38</description>
+                <resource-env-ref-name>name_38</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_39</description>
+                <resource-env-ref-name>name_39</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+        </session>
+        <entity>
+            <description>description_4</description>
+            <display-name>displayName_4</display-name>
+            <small-icon>smallIcon_4</small-icon>
+            <large-icon>largeIcon_4</large-icon>
+            <ejb-name>name_4</ejb-name>
+            <home>java.util.HashTable</home>
+            <remote>java.util.List</remote>
+            <local-home>java.sql.Data</local-home>
+            <local>java.lang.Integer</local>
+            <ejb-class>java.lang.String</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.String</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_40</description>
+                <env-entry-name>name_40</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_40</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_41</description>
+                <env-entry-name>name_41</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_41</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_42</description>
+                <env-entry-name>name_42</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_42</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_43</description>
+                <env-entry-name>name_43</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_43</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_44</description>
+                <env-entry-name>name_44</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_44</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_40</description>
+                <ejb-ref-name>name_40</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_40</home>
+                <remote>remote_40</remote>
+                <ejb-link>link_40</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_41</description>
+                <ejb-ref-name>name_41</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_41</home>
+                <remote>remote_41</remote>
+                <ejb-link>link_41</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_42</description>
+                <ejb-ref-name>name_42</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_42</home>
+                <remote>remote_42</remote>
+                <ejb-link>link_42</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_43</description>
+                <ejb-ref-name>name_43</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_43</home>
+                <remote>remote_43</remote>
+                <ejb-link>link_43</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_44</description>
+                <ejb-ref-name>name_44</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_44</home>
+                <remote>remote_44</remote>
+                <ejb-link>link_44</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_40</description>
+                <ejb-ref-name>name_40</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_81</local-home>
+                <local>remote_81</local>
+                <ejb-link>link_40</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_41</description>
+                <ejb-ref-name>name_41</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_83</local-home>
+                <local>remote_83</local>
+                <ejb-link>link_41</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_42</description>
+                <ejb-ref-name>name_42</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_85</local-home>
+                <local>remote_85</local>
+                <ejb-link>link_42</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_43</description>
+                <ejb-ref-name>name_43</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_87</local-home>
+                <local>remote_87</local>
+                <ejb-link>link_43</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_44</description>
+                <ejb-ref-name>name_44</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_89</local-home>
+                <local>remote_89</local>
+                <ejb-link>link_44</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <role-name>name_40</role-name>
+                <role-link>link_40</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_41</role-name>
+                <role-link>link_41</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_42</role-name>
+                <role-link>link_42</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_43</role-name>
+                <role-link>link_43</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_44</role-name>
+                <role-link>link_44</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_4</description>
+                <run-as>
+                    <description>description_4</description>
+                    <role-name>roleName_4</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_40</description>
+                <res-ref-name>name_40</res-ref-name>
+                <res-type>type_40</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_41</description>
+                <res-ref-name>name_41</res-ref-name>
+                <res-type>type_41</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_42</description>
+                <res-ref-name>name_42</res-ref-name>
+                <res-type>type_42</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_43</description>
+                <res-ref-name>name_43</res-ref-name>
+                <res-type>type_43</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_44</description>
+                <res-ref-name>name_44</res-ref-name>
+                <res-type>type_44</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_40</description>
+                <resource-env-ref-name>name_40</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_41</description>
+                <resource-env-ref-name>name_41</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_42</description>
+                <resource-env-ref-name>name_42</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_43</description>
+                <resource-env-ref-name>name_43</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_44</description>
+                <resource-env-ref-name>name_44</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_5</description>
+            <display-name>displayName_5</display-name>
+            <small-icon>smallIcon_5</small-icon>
+            <large-icon>largeIcon_5</large-icon>
+            <ejb-name>name_5</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.sql.Data</remote>
+            <local-home>java.lang.Integer</local-home>
+            <local>java.lang.String</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_45</description>
+                <env-entry-name>name_45</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_45</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_46</description>
+                <env-entry-name>name_46</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_46</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_47</description>
+                <env-entry-name>name_47</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_47</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_48</description>
+                <env-entry-name>name_48</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_48</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_49</description>
+                <env-entry-name>name_49</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_49</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_45</description>
+                <ejb-ref-name>name_45</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_45</home>
+                <remote>remote_45</remote>
+                <ejb-link>link_45</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_46</description>
+                <ejb-ref-name>name_46</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_46</home>
+                <remote>remote_46</remote>
+                <ejb-link>link_46</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_47</description>
+                <ejb-ref-name>name_47</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_47</home>
+                <remote>remote_47</remote>
+                <ejb-link>link_47</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_48</description>
+                <ejb-ref-name>name_48</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_48</home>
+                <remote>remote_48</remote>
+                <ejb-link>link_48</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_49</description>
+                <ejb-ref-name>name_49</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_49</home>
+                <remote>remote_49</remote>
+                <ejb-link>link_49</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_45</description>
+                <ejb-ref-name>name_45</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_91</local-home>
+                <local>remote_91</local>
+                <ejb-link>link_45</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_46</description>
+                <ejb-ref-name>name_46</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_93</local-home>
+                <local>remote_93</local>
+                <ejb-link>link_46</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_47</description>
+                <ejb-ref-name>name_47</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_95</local-home>
+                <local>remote_95</local>
+                <ejb-link>link_47</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_48</description>
+                <ejb-ref-name>name_48</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_97</local-home>
+                <local>remote_97</local>
+                <ejb-link>link_48</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_49</description>
+                <ejb-ref-name>name_49</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_99</local-home>
+                <local>remote_99</local>
+                <ejb-link>link_49</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <role-name>name_45</role-name>
+                <role-link>link_45</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_46</role-name>
+                <role-link>link_46</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_47</role-name>
+                <role-link>link_47</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_48</role-name>
+                <role-link>link_48</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <role-name>name_49</role-name>
+                <role-link>link_49</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_4</description>
+                <use-caller-identity></use-caller-identity>
+            </security-identity>
+            <resource-ref>
+                <description>description_45</description>
+                <res-ref-name>name_45</res-ref-name>
+                <res-type>type_45</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_46</description>
+                <res-ref-name>name_46</res-ref-name>
+                <res-type>type_46</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_47</description>
+                <res-ref-name>name_47</res-ref-name>
+                <res-type>type_47</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_48</description>
+                <res-ref-name>name_48</res-ref-name>
+                <res-type>type_48</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_49</description>
+                <res-ref-name>name_49</res-ref-name>
+                <res-type>type_49</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_45</description>
+                <resource-env-ref-name>name_45</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_46</description>
+                <resource-env-ref-name>name_46</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_47</description>
+                <resource-env-ref-name>name_47</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_48</description>
+                <resource-env-ref-name>name_48</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_49</description>
+                <resource-env-ref-name>name_49</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+	</enterprise-beans>
+    <relationships>
+        <description>description_0</description>
+        <ejb-relation>
+            <description>description_0</description>
+            <ejb-relation-name>name_0</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_0</description>
+                <ejb-relationship-role-name>roleName_0</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete></cascade-delete>
+                <relationship-role-source>
+                    <description>description_0</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_0</description>
+                    <cmr-field-name>name_0</cmr-field-name>
+                    <cmr-field-type>java.util.List</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_1</description>
+                <ejb-relationship-role-name>roleName_1</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_1</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_1</description>
+                    <cmr-field-name>name_1</cmr-field-name>
+                    <cmr-field-type>java.sql.Data</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_1</description>
+            <ejb-relation-name>name_1</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_2</description>
+                <ejb-relationship-role-name>roleName_2</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete></cascade-delete>
+                <relationship-role-source>
+                    <description>description_2</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_2</description>
+                    <cmr-field-name>name_2</cmr-field-name>
+                    <cmr-field-type>java.lang.Integer</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_3</description>
+                <ejb-relationship-role-name>roleName_3</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_3</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_3</description>
+                    <cmr-field-name>name_3</cmr-field-name>
+                    <cmr-field-type>java.lang.String</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_2</description>
+            <ejb-relation-name>name_2</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_4</description>
+                <ejb-relationship-role-name>roleName_4</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete></cascade-delete>
+                <relationship-role-source>
+                    <description>description_4</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_4</description>
+                    <cmr-field-name>name_4</cmr-field-name>
+                    <cmr-field-type>java.util.HashTable</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_5</description>
+                <ejb-relationship-role-name>roleName_5</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_5</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_5</description>
+                    <cmr-field-name>name_5</cmr-field-name>
+                    <cmr-field-type>java.util.List</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_3</description>
+            <ejb-relation-name>name_3</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_6</description>
+                <ejb-relationship-role-name>roleName_6</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete></cascade-delete>
+                <relationship-role-source>
+                    <description>description_6</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_6</description>
+                    <cmr-field-name>name_6</cmr-field-name>
+                    <cmr-field-type>java.sql.Data</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_7</description>
+                <ejb-relationship-role-name>roleName_7</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_7</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_7</description>
+                    <cmr-field-name>name_7</cmr-field-name>
+                    <cmr-field-type>java.lang.Integer</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_4</description>
+            <ejb-relation-name>name_4</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_8</description>
+                <ejb-relationship-role-name>roleName_8</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete></cascade-delete>
+                <relationship-role-source>
+                    <description>description_8</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_8</description>
+                    <cmr-field-name>name_8</cmr-field-name>
+                    <cmr-field-type>java.lang.String</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_9</description>
+                <ejb-relationship-role-name>roleName_9</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_9</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_9</description>
+                    <cmr-field-name>name_9</cmr-field-name>
+                    <cmr-field-type>java.util.HashTable</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+    </relationships>
+    <assembly-descriptor>
+        <security-role>
+            <description>description_5</description>
+            <role-name>roleName_5</role-name>
+        </security-role>
+        <security-role>
+            <description>description_6</description>
+            <role-name>roleName_6</role-name>
+        </security-role>
+        <security-role>
+            <description>description_7</description>
+            <role-name>roleName_7</role-name>
+        </security-role>
+        <security-role>
+            <description>description_8</description>
+            <role-name>roleName_8</role-name>
+        </security-role>
+        <security-role>
+            <description>description_9</description>
+            <role-name>roleName_9</role-name>
+        </security-role>
+        <method-permission>
+            <description>description_0</description>
+            <unchecked></unchecked>
+            <method>
+                <description>description_0</description>
+                <method-name>name_0</method-name>
+            </method>
+            <method>
+                <description>description_1</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_1</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_2</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_2</method-name>
+                <method-params>
+                    <method-param>parms_0</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_3</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_3</method-name>
+                <method-params>
+                    <method-param>parms_1</method-param>
+                    <method-param>parms_2</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_4</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_4</method-name>
+                <method-params>
+                    <method-param>parms_3</method-param>
+                    <method-param>parms_4</method-param>
+                    <method-param>parms_5</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_1</description>
+            <method>
+                <description>description_5</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_5</method-name>
+            </method>
+            <method>
+                <description>description_6</description>
+                <method-name>name_6</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_7</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_7</method-name>
+                <method-params>
+                    <method-param>parms_6</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_8</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_8</method-name>
+                <method-params>
+                    <method-param>parms_7</method-param>
+                    <method-param>parms_8</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_9</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_9</method-name>
+                <method-params>
+                    <method-param>parms_9</method-param>
+                    <method-param>parms_10</method-param>
+                    <method-param>parms_11</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_2</description>
+            <unchecked></unchecked>
+            <method>
+                <description>description_10</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_10</method-name>
+            </method>
+            <method>
+                <description>description_11</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_11</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_12</description>
+                <method-name>name_12</method-name>
+                <method-params>
+                    <method-param>parms_12</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_13</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_13</method-name>
+                <method-params>
+                    <method-param>parms_13</method-param>
+                    <method-param>parms_14</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_14</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_14</method-name>
+                <method-params>
+                    <method-param>parms_15</method-param>
+                    <method-param>parms_16</method-param>
+                    <method-param>parms_17</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_3</description>
+            <method>
+                <description>description_15</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_15</method-name>
+            </method>
+            <method>
+                <description>description_16</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_16</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_17</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_17</method-name>
+                <method-params>
+                    <method-param>parms_18</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_18</description>
+                <method-name>name_18</method-name>
+                <method-params>
+                    <method-param>parms_19</method-param>
+                    <method-param>parms_20</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_19</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_19</method-name>
+                <method-params>
+                    <method-param>parms_21</method-param>
+                    <method-param>parms_22</method-param>
+                    <method-param>parms_23</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_4</description>
+            <unchecked></unchecked>
+            <method>
+                <description>description_20</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_20</method-name>
+            </method>
+            <method>
+                <description>description_21</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_21</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_22</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_22</method-name>
+                <method-params>
+                    <method-param>parms_24</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_23</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_23</method-name>
+                <method-params>
+                    <method-param>parms_25</method-param>
+                    <method-param>parms_26</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_24</description>
+                <method-name>name_24</method-name>
+                <method-params>
+                    <method-param>parms_27</method-param>
+                    <method-param>parms_28</method-param>
+                    <method-param>parms_29</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <container-transaction>
+            <description>description_0</description>
+            <method>
+                <description>description_25</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_25</method-name>
+            </method>
+            <method>
+                <description>description_26</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_26</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_27</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_27</method-name>
+                <method-params>
+                    <method-param>parms_30</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_28</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_28</method-name>
+                <method-params>
+                    <method-param>parms_31</method-param>
+                    <method-param>parms_32</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_29</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_29</method-name>
+                <method-params>
+                    <method-param>parms_33</method-param>
+                    <method-param>parms_34</method-param>
+                    <method-param>parms_35</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>NotSupported</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_1</description>
+            <method>
+                <description>description_30</description>
+                <method-name>name_30</method-name>
+            </method>
+            <method>
+                <description>description_31</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_31</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_32</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_32</method-name>
+                <method-params>
+                    <method-param>parms_36</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_33</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_33</method-name>
+                <method-params>
+                    <method-param>parms_37</method-param>
+                    <method-param>parms_38</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_34</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_34</method-name>
+                <method-params>
+                    <method-param>parms_39</method-param>
+                    <method-param>parms_40</method-param>
+                    <method-param>parms_41</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_2</description>
+            <method>
+                <description>description_35</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_35</method-name>
+            </method>
+            <method>
+                <description>description_36</description>
+                <method-name>name_36</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_37</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_37</method-name>
+                <method-params>
+                    <method-param>parms_42</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_38</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_38</method-name>
+                <method-params>
+                    <method-param>parms_43</method-param>
+                    <method-param>parms_44</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_39</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_39</method-name>
+                <method-params>
+                    <method-param>parms_45</method-param>
+                    <method-param>parms_46</method-param>
+                    <method-param>parms_47</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Required</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_3</description>
+            <method>
+                <description>description_40</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_40</method-name>
+            </method>
+            <method>
+                <description>description_41</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_41</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_42</description>
+                <method-name>name_42</method-name>
+                <method-params>
+                    <method-param>parms_48</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_43</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_43</method-name>
+                <method-params>
+                    <method-param>parms_49</method-param>
+                    <method-param>parms_50</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_44</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_44</method-name>
+                <method-params>
+                    <method-param>parms_51</method-param>
+                    <method-param>parms_52</method-param>
+                    <method-param>parms_53</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>RequiresNew</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_4</description>
+            <method>
+                <description>description_45</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_45</method-name>
+            </method>
+            <method>
+                <description>description_46</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_46</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_47</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_47</method-name>
+                <method-params>
+                    <method-param>parms_54</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_48</description>
+                <method-name>name_48</method-name>
+                <method-params>
+                    <method-param>parms_55</method-param>
+                    <method-param>parms_56</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_49</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_49</method-name>
+                <method-params>
+                    <method-param>parms_57</method-param>
+                    <method-param>parms_58</method-param>
+                    <method-param>parms_59</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Mandatory</trans-attribute>
+        </container-transaction>
+        <exclude-list>
+            <description>description_0</description>
+            <method>
+                <description>description_50</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_50</method-name>
+            </method>
+            <method>
+                <description>description_51</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_51</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_52</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_52</method-name>
+                <method-params>
+                    <method-param>parms_60</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_53</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_53</method-name>
+                <method-params>
+                    <method-param>parms_61</method-param>
+                    <method-param>parms_62</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_54</description>
+                <method-name>name_54</method-name>
+                <method-params>
+                    <method-param>parms_63</method-param>
+                    <method-param>parms_64</method-param>
+                    <method-param>parms_65</method-param>
+                </method-params>
+            </method>
+        </exclude-list>
+    </assembly-descriptor>
+    <ejb-client-jar>ejbClientJar_0</ejb-client-jar>
+</ejb-jar>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar2-0sax.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar2-0sax.xml
new file mode 100644
index 0000000..f597242
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ejb-jar2-0sax.xml
@@ -0,0 +1,2859 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
+<ejb-jar id="ejb-jar_ID">
+    <description>description_0</description>
+    <display-name>displayName_0</display-name>
+    <small-icon>smallIcon_0</small-icon>
+    <large-icon>largeIcon_0</large-icon>
+    <enterprise-beans>
+        <entity id="CMP1">
+            <ejb-name>CMP1</ejb-name>
+            <local-home>ejbs.CMP1LocalHome</local-home>
+            <local>ejbs.CMP1Local</local>
+            <ejb-class>ejbs.CMP1Bean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>ejbs.CMP1Key</prim-key-class>
+            <reentrant>False</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>CMP1</abstract-schema-name>
+            <cmp-field>
+                <field-name>id</field-name>
+            </cmp-field>
+        </entity>
+        <entity id="CMP2">
+            <ejb-name>CMP2</ejb-name>
+            <local-home>ejbs.CMP2LocalHome</local-home>
+            <local>ejbs.CMP2Local</local>
+            <ejb-class>ejbs.CMP2Bean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>ejbs.CMP2Key</prim-key-class>
+            <reentrant>False</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>CMP2</abstract-schema-name>
+            <cmp-field>
+                <field-name>id</field-name>
+            </cmp-field>
+        </entity>
+        <entity>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.sql.Data</remote>
+            <local-home>java.lang.Integer</local-home>
+            <local>java.lang.String</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_0</description>
+                <env-entry-name>name_0</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_0</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_1</description>
+                <env-entry-name>name_1</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_1</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_2</description>
+                <env-entry-name>name_2</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_2</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_3</description>
+                <env-entry-name>name_3</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_3</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_4</description>
+                <env-entry-name>name_4</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_4</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_0</description>
+                <ejb-ref-name>name_0</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_0</home>
+                <remote>remote_0</remote>
+                <ejb-link>link_0</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_1</description>
+                <ejb-ref-name>name_1</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_1</home>
+                <remote>remote_1</remote>
+                <ejb-link>link_1</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_2</description>
+                <ejb-ref-name>name_2</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_2</home>
+                <remote>remote_2</remote>
+                <ejb-link>link_2</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_3</description>
+                <ejb-ref-name>name_3</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_3</home>
+                <remote>remote_3</remote>
+                <ejb-link>link_3</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_4</description>
+                <ejb-ref-name>name_4</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_4</home>
+                <remote>remote_4</remote>
+                <ejb-link>link_4</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_0</description>
+                <ejb-ref-name>name_0</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_1</local-home>
+                <local>remote_1</local>
+                <ejb-link>link_0</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_1</description>
+                <ejb-ref-name>name_1</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_3</local-home>
+                <local>remote_3</local>
+                <ejb-link>link_1</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_2</description>
+                <ejb-ref-name>name_2</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_5</local-home>
+                <local>remote_5</local>
+                <ejb-link>link_2</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_3</description>
+                <ejb-ref-name>name_3</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_7</local-home>
+                <local>remote_7</local>
+                <ejb-link>link_3</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_4</description>
+                <ejb-ref-name>name_4</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_9</local-home>
+                <local>remote_9</local>
+                <ejb-link>link_4</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_0</description>
+                <role-name>name_0</role-name>
+                <role-link>link_0</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_1</description>
+                <role-name>name_1</role-name>
+                <role-link>link_1</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_2</description>
+                <role-name>name_2</role-name>
+                <role-link>link_2</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_3</description>
+                <role-name>name_3</role-name>
+                <role-link>link_3</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_4</description>
+                <role-name>name_4</role-name>
+                <role-link>link_4</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_0</description>
+                <run-as>
+                    <description>description_0</description>
+                    <role-name>roleName_0</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_0</description>
+                <res-ref-name>name_0</res-ref-name>
+                <res-type>type_0</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_1</description>
+                <res-ref-name>name_1</res-ref-name>
+                <res-type>type_1</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_2</description>
+                <res-ref-name>name_2</res-ref-name>
+                <res-type>type_2</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_3</description>
+                <res-ref-name>name_3</res-ref-name>
+                <res-type>type_3</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_4</description>
+                <res-ref-name>name_4</res-ref-name>
+                <res-type>type_4</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_0</description>
+                <resource-env-ref-name>name_0</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_1</description>
+                <resource-env-ref-name>name_1</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_2</description>
+                <resource-env-ref-name>name_2</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_3</description>
+                <resource-env-ref-name>name_3</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_4</description>
+                <resource-env-ref-name>name_4</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_1</description>
+            <display-name>displayName_1</display-name>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+            <ejb-name>name_1</ejb-name>
+            <home>java.sql.Data</home>
+            <remote>java.lang.Integer</remote>
+            <local-home>java.lang.String</local-home>
+            <local>java.util.HashTable</local>
+            <ejb-class>java.util.List</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.List</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_5</description>
+                <env-entry-name>name_5</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_5</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_6</description>
+                <env-entry-name>name_6</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_6</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_7</description>
+                <env-entry-name>name_7</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_7</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_8</description>
+                <env-entry-name>name_8</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_8</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_9</description>
+                <env-entry-name>name_9</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_9</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_5</description>
+                <ejb-ref-name>name_5</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_5</home>
+                <remote>remote_5</remote>
+                <ejb-link>link_5</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_6</description>
+                <ejb-ref-name>name_6</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_6</home>
+                <remote>remote_6</remote>
+                <ejb-link>link_6</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_7</description>
+                <ejb-ref-name>name_7</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_7</home>
+                <remote>remote_7</remote>
+                <ejb-link>link_7</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_8</description>
+                <ejb-ref-name>name_8</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_8</home>
+                <remote>remote_8</remote>
+                <ejb-link>link_8</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_9</description>
+                <ejb-ref-name>name_9</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_9</home>
+                <remote>remote_9</remote>
+                <ejb-link>link_9</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_5</description>
+                <ejb-ref-name>name_5</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_11</local-home>
+                <local>remote_11</local>
+                <ejb-link>link_5</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_6</description>
+                <ejb-ref-name>name_6</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_13</local-home>
+                <local>remote_13</local>
+                <ejb-link>link_6</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_7</description>
+                <ejb-ref-name>name_7</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_15</local-home>
+                <local>remote_15</local>
+                <ejb-link>link_7</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_8</description>
+                <ejb-ref-name>name_8</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_17</local-home>
+                <local>remote_17</local>
+                <ejb-link>link_8</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_9</description>
+                <ejb-ref-name>name_9</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_19</local-home>
+                <local>remote_19</local>
+                <ejb-link>link_9</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_5</description>
+                <role-name>name_5</role-name>
+                <role-link>link_5</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_6</description>
+                <role-name>name_6</role-name>
+                <role-link>link_6</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_7</description>
+                <role-name>name_7</role-name>
+                <role-link>link_7</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_8</description>
+                <role-name>name_8</role-name>
+                <role-link>link_8</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_9</description>
+                <role-name>name_9</role-name>
+                <role-link>link_9</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_0</description>
+                <use-caller-identity/>
+            </security-identity>
+            <resource-ref>
+                <description>description_5</description>
+                <res-ref-name>name_5</res-ref-name>
+                <res-type>type_5</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_6</description>
+                <res-ref-name>name_6</res-ref-name>
+                <res-type>type_6</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_7</description>
+                <res-ref-name>name_7</res-ref-name>
+                <res-type>type_7</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_8</description>
+                <res-ref-name>name_8</res-ref-name>
+                <res-type>type_8</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_9</description>
+                <res-ref-name>name_9</res-ref-name>
+                <res-type>type_9</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_5</description>
+                <resource-env-ref-name>name_5</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_6</description>
+                <resource-env-ref-name>name_6</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_7</description>
+                <resource-env-ref-name>name_7</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_8</description>
+                <resource-env-ref-name>name_8</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_9</description>
+                <resource-env-ref-name>name_9</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <home>java.lang.Integer</home>
+            <remote>java.lang.String</remote>
+            <local-home>java.util.HashTable</local-home>
+            <local>java.util.List</local>
+            <ejb-class>java.sql.Data</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.sql.Data</prim-key-class>
+            <reentrant>True</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>abstractSchemaName_0</abstract-schema-name>
+            <cmp-field>
+                <description>description_1</description>
+                <field-name>name_1</field-name>
+            </cmp-field>
+            <cmp-field>
+                <description>description_3</description>
+                <field-name>name_3</field-name>
+            </cmp-field>
+            <env-entry>
+                <description>description_10</description>
+                <env-entry-name>name_10</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_10</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_11</description>
+                <env-entry-name>name_11</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_11</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_12</description>
+                <env-entry-name>name_12</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_12</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_13</description>
+                <env-entry-name>name_13</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_13</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_14</description>
+                <env-entry-name>name_14</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_14</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_10</description>
+                <ejb-ref-name>name_10</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_10</home>
+                <remote>remote_10</remote>
+                <ejb-link>link_10</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_11</description>
+                <ejb-ref-name>name_11</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_11</home>
+                <remote>remote_11</remote>
+                <ejb-link>link_11</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_12</description>
+                <ejb-ref-name>name_12</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_12</home>
+                <remote>remote_12</remote>
+                <ejb-link>link_12</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_13</description>
+                <ejb-ref-name>name_13</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_13</home>
+                <remote>remote_13</remote>
+                <ejb-link>link_13</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_14</description>
+                <ejb-ref-name>name_14</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_14</home>
+                <remote>remote_14</remote>
+                <ejb-link>link_14</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_10</description>
+                <ejb-ref-name>name_10</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_21</local-home>
+                <local>remote_21</local>
+                <ejb-link>link_10</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_11</description>
+                <ejb-ref-name>name_11</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_23</local-home>
+                <local>remote_23</local>
+                <ejb-link>link_11</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_12</description>
+                <ejb-ref-name>name_12</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_25</local-home>
+                <local>remote_25</local>
+                <ejb-link>link_12</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_13</description>
+                <ejb-ref-name>name_13</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_27</local-home>
+                <local>remote_27</local>
+                <ejb-link>link_13</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_14</description>
+                <ejb-ref-name>name_14</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_29</local-home>
+                <local>remote_29</local>
+                <ejb-link>link_14</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_10</description>
+                <role-name>name_10</role-name>
+                <role-link>link_10</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_11</description>
+                <role-name>name_11</role-name>
+                <role-link>link_11</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_12</description>
+                <role-name>name_12</role-name>
+                <role-link>link_12</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_13</description>
+                <role-name>name_13</role-name>
+                <role-link>link_13</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_14</description>
+                <role-name>name_14</role-name>
+                <role-link>link_14</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_1</description>
+                <run-as>
+                    <description>description_1</description>
+                    <role-name>roleName_1</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_10</description>
+                <res-ref-name>name_10</res-ref-name>
+                <res-type>type_10</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_11</description>
+                <res-ref-name>name_11</res-ref-name>
+                <res-type>type_11</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_12</description>
+                <res-ref-name>name_12</res-ref-name>
+                <res-type>type_12</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_13</description>
+                <res-ref-name>name_13</res-ref-name>
+                <res-type>type_13</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_14</description>
+                <res-ref-name>name_14</res-ref-name>
+                <res-type>type_14</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_10</description>
+                <resource-env-ref-name>name_10</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_11</description>
+                <resource-env-ref-name>name_11</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_12</description>
+                <resource-env-ref-name>name_12</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_13</description>
+                <resource-env-ref-name>name_13</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_14</description>
+                <resource-env-ref-name>name_14</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <query>
+                <description>description_0</description>
+                <query-method>
+                    <method-name>name_0</method-name>
+                </query-method>
+                <result-type-mapping>Local</result-type-mapping>
+                <ejb-ql>ejbQL_0</ejb-ql>
+            </query>
+            <query>
+                <description>description_1</description>
+                <query-method>
+                    <method-name>name_1</method-name>
+                    <method-params/>
+                </query-method>
+                <result-type-mapping>Remote</result-type-mapping>
+                <ejb-ql>ejbQL_1</ejb-ql>
+            </query>
+            <query>
+                <description>description_2</description>
+                <query-method>
+                    <method-name>name_2</method-name>
+                    <method-params>
+                        <method-param>parms_0</method-param>
+                    </method-params>
+                </query-method>
+                <result-type-mapping>Local</result-type-mapping>
+                <ejb-ql>ejbQL_2</ejb-ql>
+            </query>
+            <query>
+                <description>description_3</description>
+                <query-method>
+                    <method-name>name_3</method-name>
+                    <method-params>
+                        <method-param>parms_1</method-param>
+                        <method-param>parms_2</method-param>
+                    </method-params>
+                </query-method>
+                <result-type-mapping>Remote</result-type-mapping>
+                <ejb-ql>ejbQL_3</ejb-ql>
+            </query>
+            <query>
+                <description>description_4</description>
+                <query-method>
+                    <method-name>name_4</method-name>
+                    <method-params>
+                        <method-param>parms_3</method-param>
+                        <method-param>parms_4</method-param>
+                        <method-param>parms_5</method-param>
+                    </method-params>
+                </query-method>
+                <result-type-mapping>Local</result-type-mapping>
+                <ejb-ql>ejbQL_4</ejb-ql>
+            </query>
+        </entity>
+        <session>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <home>java.lang.String</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.List</local-home>
+            <local>java.sql.Data</local>
+            <ejb-class>java.lang.Integer</ejb-class>
+            <session-type>Stateful</session-type>
+            <transaction-type>Bean</transaction-type>
+            <env-entry>
+                <description>description_15</description>
+                <env-entry-name>name_15</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_15</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_16</description>
+                <env-entry-name>name_16</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_16</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_17</description>
+                <env-entry-name>name_17</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_17</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_18</description>
+                <env-entry-name>name_18</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_18</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_19</description>
+                <env-entry-name>name_19</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_19</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_15</description>
+                <ejb-ref-name>name_15</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_15</home>
+                <remote>remote_15</remote>
+                <ejb-link>link_15</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_16</description>
+                <ejb-ref-name>name_16</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_16</home>
+                <remote>remote_16</remote>
+                <ejb-link>link_16</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_17</description>
+                <ejb-ref-name>name_17</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_17</home>
+                <remote>remote_17</remote>
+                <ejb-link>link_17</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_18</description>
+                <ejb-ref-name>name_18</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_18</home>
+                <remote>remote_18</remote>
+                <ejb-link>link_18</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_19</description>
+                <ejb-ref-name>name_19</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_19</home>
+                <remote>remote_19</remote>
+                <ejb-link>link_19</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_15</description>
+                <ejb-ref-name>name_15</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_31</local-home>
+                <local>remote_31</local>
+                <ejb-link>link_15</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_16</description>
+                <ejb-ref-name>name_16</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_33</local-home>
+                <local>remote_33</local>
+                <ejb-link>link_16</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_17</description>
+                <ejb-ref-name>name_17</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_35</local-home>
+                <local>remote_35</local>
+                <ejb-link>link_17</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_18</description>
+                <ejb-ref-name>name_18</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_37</local-home>
+                <local>remote_37</local>
+                <ejb-link>link_18</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_19</description>
+                <ejb-ref-name>name_19</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_39</local-home>
+                <local>remote_39</local>
+                <ejb-link>link_19</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_15</description>
+                <role-name>name_15</role-name>
+                <role-link>link_15</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_16</description>
+                <role-name>name_16</role-name>
+                <role-link>link_16</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_17</description>
+                <role-name>name_17</role-name>
+                <role-link>link_17</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_18</description>
+                <role-name>name_18</role-name>
+                <role-link>link_18</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_19</description>
+                <role-name>name_19</role-name>
+                <role-link>link_19</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_1</description>
+                <use-caller-identity/>
+            </security-identity>
+            <resource-ref>
+                <description>description_15</description>
+                <res-ref-name>name_15</res-ref-name>
+                <res-type>type_15</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_16</description>
+                <res-ref-name>name_16</res-ref-name>
+                <res-type>type_16</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_17</description>
+                <res-ref-name>name_17</res-ref-name>
+                <res-type>type_17</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_18</description>
+                <res-ref-name>name_18</res-ref-name>
+                <res-type>type_18</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_19</description>
+                <res-ref-name>name_19</res-ref-name>
+                <res-type>type_19</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_15</description>
+                <resource-env-ref-name>name_15</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_16</description>
+                <resource-env-ref-name>name_16</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_17</description>
+                <resource-env-ref-name>name_17</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_18</description>
+                <resource-env-ref-name>name_18</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_19</description>
+                <resource-env-ref-name>name_19</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+        </session>
+        <entity>
+            <description>description_2</description>
+            <display-name>displayName_2</display-name>
+            <small-icon>smallIcon_2</small-icon>
+            <large-icon>largeIcon_2</large-icon>
+            <ejb-name>name_2</ejb-name>
+            <home>java.util.HashTable</home>
+            <remote>java.util.List</remote>
+            <local-home>java.sql.Data</local-home>
+            <local>java.lang.Integer</local>
+            <ejb-class>java.lang.String</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.String</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_20</description>
+                <env-entry-name>name_20</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_20</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_21</description>
+                <env-entry-name>name_21</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_21</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_22</description>
+                <env-entry-name>name_22</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_22</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_23</description>
+                <env-entry-name>name_23</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_23</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_24</description>
+                <env-entry-name>name_24</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_24</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_20</description>
+                <ejb-ref-name>name_20</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_20</home>
+                <remote>remote_20</remote>
+                <ejb-link>link_20</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_21</description>
+                <ejb-ref-name>name_21</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_21</home>
+                <remote>remote_21</remote>
+                <ejb-link>link_21</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_22</description>
+                <ejb-ref-name>name_22</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_22</home>
+                <remote>remote_22</remote>
+                <ejb-link>link_22</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_23</description>
+                <ejb-ref-name>name_23</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_23</home>
+                <remote>remote_23</remote>
+                <ejb-link>link_23</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_24</description>
+                <ejb-ref-name>name_24</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_24</home>
+                <remote>remote_24</remote>
+                <ejb-link>link_24</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_20</description>
+                <ejb-ref-name>name_20</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_41</local-home>
+                <local>remote_41</local>
+                <ejb-link>link_20</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_21</description>
+                <ejb-ref-name>name_21</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_43</local-home>
+                <local>remote_43</local>
+                <ejb-link>link_21</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_22</description>
+                <ejb-ref-name>name_22</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_45</local-home>
+                <local>remote_45</local>
+                <ejb-link>link_22</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_23</description>
+                <ejb-ref-name>name_23</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_47</local-home>
+                <local>remote_47</local>
+                <ejb-link>link_23</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_24</description>
+                <ejb-ref-name>name_24</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_49</local-home>
+                <local>remote_49</local>
+                <ejb-link>link_24</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_20</description>
+                <role-name>name_20</role-name>
+                <role-link>link_20</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_21</description>
+                <role-name>name_21</role-name>
+                <role-link>link_21</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_22</description>
+                <role-name>name_22</role-name>
+                <role-link>link_22</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_23</description>
+                <role-name>name_23</role-name>
+                <role-link>link_23</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_24</description>
+                <role-name>name_24</role-name>
+                <role-link>link_24</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_2</description>
+                <run-as>
+                    <description>description_2</description>
+                    <role-name>roleName_2</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_20</description>
+                <res-ref-name>name_20</res-ref-name>
+                <res-type>type_20</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_21</description>
+                <res-ref-name>name_21</res-ref-name>
+                <res-type>type_21</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_22</description>
+                <res-ref-name>name_22</res-ref-name>
+                <res-type>type_22</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_23</description>
+                <res-ref-name>name_23</res-ref-name>
+                <res-type>type_23</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_24</description>
+                <res-ref-name>name_24</res-ref-name>
+                <res-type>type_24</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_20</description>
+                <resource-env-ref-name>name_20</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_21</description>
+                <resource-env-ref-name>name_21</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_22</description>
+                <resource-env-ref-name>name_22</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_23</description>
+                <resource-env-ref-name>name_23</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_24</description>
+                <resource-env-ref-name>name_24</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_3</description>
+            <display-name>displayName_3</display-name>
+            <small-icon>smallIcon_3</small-icon>
+            <large-icon>largeIcon_3</large-icon>
+            <ejb-name>name_3</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.sql.Data</remote>
+            <local-home>java.lang.Integer</local-home>
+            <local>java.lang.String</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_25</description>
+                <env-entry-name>name_25</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_25</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_26</description>
+                <env-entry-name>name_26</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_26</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_27</description>
+                <env-entry-name>name_27</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_27</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_28</description>
+                <env-entry-name>name_28</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_28</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_29</description>
+                <env-entry-name>name_29</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_29</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_25</description>
+                <ejb-ref-name>name_25</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_25</home>
+                <remote>remote_25</remote>
+                <ejb-link>link_25</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_26</description>
+                <ejb-ref-name>name_26</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_26</home>
+                <remote>remote_26</remote>
+                <ejb-link>link_26</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_27</description>
+                <ejb-ref-name>name_27</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_27</home>
+                <remote>remote_27</remote>
+                <ejb-link>link_27</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_28</description>
+                <ejb-ref-name>name_28</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_28</home>
+                <remote>remote_28</remote>
+                <ejb-link>link_28</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_29</description>
+                <ejb-ref-name>name_29</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_29</home>
+                <remote>remote_29</remote>
+                <ejb-link>link_29</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_25</description>
+                <ejb-ref-name>name_25</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_51</local-home>
+                <local>remote_51</local>
+                <ejb-link>link_25</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_26</description>
+                <ejb-ref-name>name_26</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_53</local-home>
+                <local>remote_53</local>
+                <ejb-link>link_26</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_27</description>
+                <ejb-ref-name>name_27</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_55</local-home>
+                <local>remote_55</local>
+                <ejb-link>link_27</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_28</description>
+                <ejb-ref-name>name_28</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_57</local-home>
+                <local>remote_57</local>
+                <ejb-link>link_28</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_29</description>
+                <ejb-ref-name>name_29</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_59</local-home>
+                <local>remote_59</local>
+                <ejb-link>link_29</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_25</description>
+                <role-name>name_25</role-name>
+                <role-link>link_25</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_26</description>
+                <role-name>name_26</role-name>
+                <role-link>link_26</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_27</description>
+                <role-name>name_27</role-name>
+                <role-link>link_27</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_28</description>
+                <role-name>name_28</role-name>
+                <role-link>link_28</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_29</description>
+                <role-name>name_29</role-name>
+                <role-link>link_29</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_2</description>
+                <use-caller-identity/>
+            </security-identity>
+            <resource-ref>
+                <description>description_25</description>
+                <res-ref-name>name_25</res-ref-name>
+                <res-type>type_25</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_26</description>
+                <res-ref-name>name_26</res-ref-name>
+                <res-type>type_26</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_27</description>
+                <res-ref-name>name_27</res-ref-name>
+                <res-type>type_27</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_28</description>
+                <res-ref-name>name_28</res-ref-name>
+                <res-type>type_28</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_29</description>
+                <res-ref-name>name_29</res-ref-name>
+                <res-type>type_29</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_25</description>
+                <resource-env-ref-name>name_25</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_26</description>
+                <resource-env-ref-name>name_26</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_27</description>
+                <resource-env-ref-name>name_27</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_28</description>
+                <resource-env-ref-name>name_28</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_29</description>
+                <resource-env-ref-name>name_29</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <message-driven>
+            <description>description_0</description>
+            <display-name>displayName_0</display-name>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+            <ejb-name>name_0</ejb-name>
+            <ejb-class>java.util.List</ejb-class>
+            <transaction-type>Bean</transaction-type>
+            <message-selector>messageSelector_0</message-selector>
+            <acknowledge-mode>Auto-acknowledge</acknowledge-mode>
+            <message-driven-destination>
+                <destination-type>javax.jms.Queue</destination-type>
+                <subscription-durability>Durable</subscription-durability>
+            </message-driven-destination>
+            <env-entry>
+                <description>description_30</description>
+                <env-entry-name>name_30</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_30</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_31</description>
+                <env-entry-name>name_31</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_31</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_32</description>
+                <env-entry-name>name_32</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_32</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_33</description>
+                <env-entry-name>name_33</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_33</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_34</description>
+                <env-entry-name>name_34</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_34</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_30</description>
+                <ejb-ref-name>name_30</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_30</home>
+                <remote>remote_30</remote>
+                <ejb-link>link_30</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_31</description>
+                <ejb-ref-name>name_31</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_31</home>
+                <remote>remote_31</remote>
+                <ejb-link>link_31</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_32</description>
+                <ejb-ref-name>name_32</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_32</home>
+                <remote>remote_32</remote>
+                <ejb-link>link_32</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_33</description>
+                <ejb-ref-name>name_33</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_33</home>
+                <remote>remote_33</remote>
+                <ejb-link>link_33</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_34</description>
+                <ejb-ref-name>name_34</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_34</home>
+                <remote>remote_34</remote>
+                <ejb-link>link_34</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_30</description>
+                <ejb-ref-name>name_30</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_61</local-home>
+                <local>remote_61</local>
+                <ejb-link>link_30</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_31</description>
+                <ejb-ref-name>name_31</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_63</local-home>
+                <local>remote_63</local>
+                <ejb-link>link_31</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_32</description>
+                <ejb-ref-name>name_32</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_65</local-home>
+                <local>remote_65</local>
+                <ejb-link>link_32</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_33</description>
+                <ejb-ref-name>name_33</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_67</local-home>
+                <local>remote_67</local>
+                <ejb-link>link_33</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_34</description>
+                <ejb-ref-name>name_34</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_69</local-home>
+                <local>remote_69</local>
+                <ejb-link>link_34</ejb-link>
+            </ejb-local-ref>
+            <security-identity>
+                <description>description_3</description>
+                <run-as>
+                    <description>description_3</description>
+                    <role-name>roleName_3</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_30</description>
+                <res-ref-name>name_30</res-ref-name>
+                <res-type>type_30</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_31</description>
+                <res-ref-name>name_31</res-ref-name>
+                <res-type>type_31</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_32</description>
+                <res-ref-name>name_32</res-ref-name>
+                <res-type>type_32</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_33</description>
+                <res-ref-name>name_33</res-ref-name>
+                <res-type>type_33</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_34</description>
+                <res-ref-name>name_34</res-ref-name>
+                <res-type>type_34</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_30</description>
+                <resource-env-ref-name>name_30</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_31</description>
+                <resource-env-ref-name>name_31</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_32</description>
+                <resource-env-ref-name>name_32</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_33</description>
+                <resource-env-ref-name>name_33</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_34</description>
+                <resource-env-ref-name>name_34</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+        </message-driven>
+        <session>
+            <description>description_1</description>
+            <display-name>displayName_1</display-name>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+            <ejb-name>name_1</ejb-name>
+            <home>java.lang.String</home>
+            <remote>java.util.HashTable</remote>
+            <local-home>java.util.List</local-home>
+            <local>java.sql.Data</local>
+            <ejb-class>java.lang.Integer</ejb-class>
+            <session-type>Stateless</session-type>
+            <transaction-type>Container</transaction-type>
+            <env-entry>
+                <description>description_35</description>
+                <env-entry-name>name_35</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_35</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_36</description>
+                <env-entry-name>name_36</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_36</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_37</description>
+                <env-entry-name>name_37</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_37</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_38</description>
+                <env-entry-name>name_38</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_38</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_39</description>
+                <env-entry-name>name_39</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_39</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_35</description>
+                <ejb-ref-name>name_35</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_35</home>
+                <remote>remote_35</remote>
+                <ejb-link>link_35</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_36</description>
+                <ejb-ref-name>name_36</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_36</home>
+                <remote>remote_36</remote>
+                <ejb-link>link_36</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_37</description>
+                <ejb-ref-name>name_37</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_37</home>
+                <remote>remote_37</remote>
+                <ejb-link>link_37</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_38</description>
+                <ejb-ref-name>name_38</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_38</home>
+                <remote>remote_38</remote>
+                <ejb-link>link_38</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_39</description>
+                <ejb-ref-name>name_39</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_39</home>
+                <remote>remote_39</remote>
+                <ejb-link>link_39</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_35</description>
+                <ejb-ref-name>name_35</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_71</local-home>
+                <local>remote_71</local>
+                <ejb-link>link_35</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_36</description>
+                <ejb-ref-name>name_36</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_73</local-home>
+                <local>remote_73</local>
+                <ejb-link>link_36</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_37</description>
+                <ejb-ref-name>name_37</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_75</local-home>
+                <local>remote_75</local>
+                <ejb-link>link_37</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_38</description>
+                <ejb-ref-name>name_38</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_77</local-home>
+                <local>remote_77</local>
+                <ejb-link>link_38</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_39</description>
+                <ejb-ref-name>name_39</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_79</local-home>
+                <local>remote_79</local>
+                <ejb-link>link_39</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_35</description>
+                <role-name>name_35</role-name>
+                <role-link>link_35</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_36</description>
+                <role-name>name_36</role-name>
+                <role-link>link_36</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_37</description>
+                <role-name>name_37</role-name>
+                <role-link>link_37</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_38</description>
+                <role-name>name_38</role-name>
+                <role-link>link_38</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_39</description>
+                <role-name>name_39</role-name>
+                <role-link>link_39</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_3</description>
+                <use-caller-identity/>
+            </security-identity>
+            <resource-ref>
+                <description>description_35</description>
+                <res-ref-name>name_35</res-ref-name>
+                <res-type>type_35</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_36</description>
+                <res-ref-name>name_36</res-ref-name>
+                <res-type>type_36</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_37</description>
+                <res-ref-name>name_37</res-ref-name>
+                <res-type>type_37</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_38</description>
+                <res-ref-name>name_38</res-ref-name>
+                <res-type>type_38</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_39</description>
+                <res-ref-name>name_39</res-ref-name>
+                <res-type>type_39</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_35</description>
+                <resource-env-ref-name>name_35</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_36</description>
+                <resource-env-ref-name>name_36</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_37</description>
+                <resource-env-ref-name>name_37</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_38</description>
+                <resource-env-ref-name>name_38</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_39</description>
+                <resource-env-ref-name>name_39</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+        </session>
+        <entity>
+            <description>description_4</description>
+            <display-name>displayName_4</display-name>
+            <small-icon>smallIcon_4</small-icon>
+            <large-icon>largeIcon_4</large-icon>
+            <ejb-name>name_4</ejb-name>
+            <home>java.util.HashTable</home>
+            <remote>java.util.List</remote>
+            <local-home>java.sql.Data</local-home>
+            <local>java.lang.Integer</local>
+            <ejb-class>java.lang.String</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.lang.String</prim-key-class>
+            <reentrant>True</reentrant>
+            <env-entry>
+                <description>description_40</description>
+                <env-entry-name>name_40</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_40</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_41</description>
+                <env-entry-name>name_41</env-entry-name>
+                <env-entry-type>java.lang.Short</env-entry-type>
+                <env-entry-value>value_41</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_42</description>
+                <env-entry-name>name_42</env-entry-name>
+                <env-entry-type>java.lang.Long</env-entry-type>
+                <env-entry-value>value_42</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_43</description>
+                <env-entry-name>name_43</env-entry-name>
+                <env-entry-type>java.lang.Float</env-entry-type>
+                <env-entry-value>value_43</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_44</description>
+                <env-entry-name>name_44</env-entry-name>
+                <env-entry-type>java.lang.Character</env-entry-type>
+                <env-entry-value>value_44</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_40</description>
+                <ejb-ref-name>name_40</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_40</home>
+                <remote>remote_40</remote>
+                <ejb-link>link_40</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_41</description>
+                <ejb-ref-name>name_41</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_41</home>
+                <remote>remote_41</remote>
+                <ejb-link>link_41</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_42</description>
+                <ejb-ref-name>name_42</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_42</home>
+                <remote>remote_42</remote>
+                <ejb-link>link_42</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_43</description>
+                <ejb-ref-name>name_43</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_43</home>
+                <remote>remote_43</remote>
+                <ejb-link>link_43</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_44</description>
+                <ejb-ref-name>name_44</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_44</home>
+                <remote>remote_44</remote>
+                <ejb-link>link_44</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_40</description>
+                <ejb-ref-name>name_40</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_81</local-home>
+                <local>remote_81</local>
+                <ejb-link>link_40</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_41</description>
+                <ejb-ref-name>name_41</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_83</local-home>
+                <local>remote_83</local>
+                <ejb-link>link_41</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_42</description>
+                <ejb-ref-name>name_42</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_85</local-home>
+                <local>remote_85</local>
+                <ejb-link>link_42</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_43</description>
+                <ejb-ref-name>name_43</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_87</local-home>
+                <local>remote_87</local>
+                <ejb-link>link_43</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_44</description>
+                <ejb-ref-name>name_44</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_89</local-home>
+                <local>remote_89</local>
+                <ejb-link>link_44</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_40</description>
+                <role-name>name_40</role-name>
+                <role-link>link_40</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_41</description>
+                <role-name>name_41</role-name>
+                <role-link>link_41</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_42</description>
+                <role-name>name_42</role-name>
+                <role-link>link_42</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_43</description>
+                <role-name>name_43</role-name>
+                <role-link>link_43</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_44</description>
+                <role-name>name_44</role-name>
+                <role-link>link_44</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_4</description>
+                <run-as>
+                    <description>description_4</description>
+                    <role-name>roleName_4</role-name>
+                </run-as>
+            </security-identity>
+            <resource-ref>
+                <description>description_40</description>
+                <res-ref-name>name_40</res-ref-name>
+                <res-type>type_40</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_41</description>
+                <res-ref-name>name_41</res-ref-name>
+                <res-type>type_41</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_42</description>
+                <res-ref-name>name_42</res-ref-name>
+                <res-type>type_42</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_43</description>
+                <res-ref-name>name_43</res-ref-name>
+                <res-type>type_43</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_44</description>
+                <res-ref-name>name_44</res-ref-name>
+                <res-type>type_44</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_40</description>
+                <resource-env-ref-name>name_40</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_41</description>
+                <resource-env-ref-name>name_41</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_42</description>
+                <resource-env-ref-name>name_42</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_43</description>
+                <resource-env-ref-name>name_43</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_44</description>
+                <resource-env-ref-name>name_44</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+        <entity>
+            <description>description_5</description>
+            <display-name>displayName_5</display-name>
+            <small-icon>smallIcon_5</small-icon>
+            <large-icon>largeIcon_5</large-icon>
+            <ejb-name>name_5</ejb-name>
+            <home>java.util.List</home>
+            <remote>java.sql.Data</remote>
+            <local-home>java.lang.Integer</local-home>
+            <local>java.lang.String</local>
+            <ejb-class>java.util.HashTable</ejb-class>
+            <persistence-type>Bean</persistence-type>
+            <prim-key-class>java.util.HashTable</prim-key-class>
+            <reentrant>False</reentrant>
+            <env-entry>
+                <description>description_45</description>
+                <env-entry-name>name_45</env-entry-name>
+                <env-entry-type>java.lang.String</env-entry-type>
+                <env-entry-value>value_45</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_46</description>
+                <env-entry-name>name_46</env-entry-name>
+                <env-entry-type>java.lang.Integer</env-entry-type>
+                <env-entry-value>value_46</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_47</description>
+                <env-entry-name>name_47</env-entry-name>
+                <env-entry-type>java.lang.Boolean</env-entry-type>
+                <env-entry-value>value_47</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_48</description>
+                <env-entry-name>name_48</env-entry-name>
+                <env-entry-type>java.lang.Double</env-entry-type>
+                <env-entry-value>value_48</env-entry-value>
+            </env-entry>
+            <env-entry>
+                <description>description_49</description>
+                <env-entry-name>name_49</env-entry-name>
+                <env-entry-type>java.lang.Byte</env-entry-type>
+                <env-entry-value>value_49</env-entry-value>
+            </env-entry>
+            <ejb-ref>
+                <description>description_45</description>
+                <ejb-ref-name>name_45</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_45</home>
+                <remote>remote_45</remote>
+                <ejb-link>link_45</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_46</description>
+                <ejb-ref-name>name_46</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_46</home>
+                <remote>remote_46</remote>
+                <ejb-link>link_46</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_47</description>
+                <ejb-ref-name>name_47</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_47</home>
+                <remote>remote_47</remote>
+                <ejb-link>link_47</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_48</description>
+                <ejb-ref-name>name_48</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <home>home_48</home>
+                <remote>remote_48</remote>
+                <ejb-link>link_48</ejb-link>
+            </ejb-ref>
+            <ejb-ref>
+                <description>description_49</description>
+                <ejb-ref-name>name_49</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <home>home_49</home>
+                <remote>remote_49</remote>
+                <ejb-link>link_49</ejb-link>
+            </ejb-ref>
+            <ejb-local-ref>
+                <description>description_45</description>
+                <ejb-ref-name>name_45</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_91</local-home>
+                <local>remote_91</local>
+                <ejb-link>link_45</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_46</description>
+                <ejb-ref-name>name_46</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_93</local-home>
+                <local>remote_93</local>
+                <ejb-link>link_46</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_47</description>
+                <ejb-ref-name>name_47</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_95</local-home>
+                <local>remote_95</local>
+                <ejb-link>link_47</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_48</description>
+                <ejb-ref-name>name_48</ejb-ref-name>
+                <ejb-ref-type>Session</ejb-ref-type>
+                <local-home>home_97</local-home>
+                <local>remote_97</local>
+                <ejb-link>link_48</ejb-link>
+            </ejb-local-ref>
+            <ejb-local-ref>
+                <description>description_49</description>
+                <ejb-ref-name>name_49</ejb-ref-name>
+                <ejb-ref-type>Entity</ejb-ref-type>
+                <local-home>home_99</local-home>
+                <local>remote_99</local>
+                <ejb-link>link_49</ejb-link>
+            </ejb-local-ref>
+            <security-role-ref>
+                <description>description_45</description>
+                <role-name>name_45</role-name>
+                <role-link>link_45</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_46</description>
+                <role-name>name_46</role-name>
+                <role-link>link_46</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_47</description>
+                <role-name>name_47</role-name>
+                <role-link>link_47</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_48</description>
+                <role-name>name_48</role-name>
+                <role-link>link_48</role-link>
+            </security-role-ref>
+            <security-role-ref>
+                <description>description_49</description>
+                <role-name>name_49</role-name>
+                <role-link>link_49</role-link>
+            </security-role-ref>
+            <security-identity>
+                <description>description_4</description>
+                <use-caller-identity/>
+            </security-identity>
+            <resource-ref>
+                <description>description_45</description>
+                <res-ref-name>name_45</res-ref-name>
+                <res-type>type_45</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_46</description>
+                <res-ref-name>name_46</res-ref-name>
+                <res-type>type_46</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_47</description>
+                <res-ref-name>name_47</res-ref-name>
+                <res-type>type_47</res-type>
+                <res-auth>SERVLET</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_48</description>
+                <res-ref-name>name_48</res-ref-name>
+                <res-type>type_48</res-type>
+                <res-auth>Container</res-auth>
+                <res-sharing-scope>Shareable</res-sharing-scope>
+            </resource-ref>
+            <resource-ref>
+                <description>description_49</description>
+                <res-ref-name>name_49</res-ref-name>
+                <res-type>type_49</res-type>
+                <res-auth>Application</res-auth>
+                <res-sharing-scope>Unshareable</res-sharing-scope>
+            </resource-ref>
+            <resource-env-ref>
+                <description>description_45</description>
+                <resource-env-ref-name>name_45</resource-env-ref-name>
+                <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_46</description>
+                <resource-env-ref-name>name_46</resource-env-ref-name>
+                <resource-env-ref-type>java.util.List</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_47</description>
+                <resource-env-ref-name>name_47</resource-env-ref-name>
+                <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_48</description>
+                <resource-env-ref-name>name_48</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+            </resource-env-ref>
+            <resource-env-ref>
+                <description>description_49</description>
+                <resource-env-ref-name>name_49</resource-env-ref-name>
+                <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+            </resource-env-ref>
+        </entity>
+    </enterprise-beans>
+    <relationships>
+        <description>description_0</description>
+        <ejb-relation>
+            <description>description_0</description>
+            <ejb-relation-name>name_0</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_0</description>
+                <ejb-relationship-role-name>roleName_0</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete/>
+                <relationship-role-source>
+                    <description>description_0</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_0</description>
+                    <cmr-field-name>name_0</cmr-field-name>
+                    <cmr-field-type>java.util.List</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_1</description>
+                <ejb-relationship-role-name>roleName_1</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_1</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_1</description>
+                    <cmr-field-name>name_1</cmr-field-name>
+                    <cmr-field-type>java.sql.Data</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_1</description>
+            <ejb-relation-name>name_1</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_2</description>
+                <ejb-relationship-role-name>roleName_2</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete/>
+                <relationship-role-source>
+                    <description>description_2</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_2</description>
+                    <cmr-field-name>name_2</cmr-field-name>
+                    <cmr-field-type>java.lang.Integer</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_3</description>
+                <ejb-relationship-role-name>roleName_3</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_3</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_3</description>
+                    <cmr-field-name>name_3</cmr-field-name>
+                    <cmr-field-type>java.lang.String</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_2</description>
+            <ejb-relation-name>name_2</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_4</description>
+                <ejb-relationship-role-name>roleName_4</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete/>
+                <relationship-role-source>
+                    <description>description_4</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_4</description>
+                    <cmr-field-name>name_4</cmr-field-name>
+                    <cmr-field-type>java.util.HashTable</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_5</description>
+                <ejb-relationship-role-name>roleName_5</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_5</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_5</description>
+                    <cmr-field-name>name_5</cmr-field-name>
+                    <cmr-field-type>java.util.List</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_3</description>
+            <ejb-relation-name>name_3</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_6</description>
+                <ejb-relationship-role-name>roleName_6</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete/>
+                <relationship-role-source>
+                    <description>description_6</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_6</description>
+                    <cmr-field-name>name_6</cmr-field-name>
+                    <cmr-field-type>java.sql.Data</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_7</description>
+                <ejb-relationship-role-name>roleName_7</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_7</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_7</description>
+                    <cmr-field-name>name_7</cmr-field-name>
+                    <cmr-field-type>java.lang.Integer</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+        <ejb-relation>
+            <description>description_4</description>
+            <ejb-relation-name>name_4</ejb-relation-name>
+            <ejb-relationship-role>
+                <description>description_8</description>
+                <ejb-relationship-role-name>roleName_8</ejb-relationship-role-name>
+                <multiplicity>One</multiplicity>
+                <cascade-delete/>
+                <relationship-role-source>
+                    <description>description_8</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_8</description>
+                    <cmr-field-name>name_8</cmr-field-name>
+                    <cmr-field-type>java.lang.String</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+            <ejb-relationship-role>
+                <description>description_9</description>
+                <ejb-relationship-role-name>roleName_9</ejb-relationship-role-name>
+                <multiplicity>Many</multiplicity>
+                <relationship-role-source>
+                    <description>description_9</description>
+                </relationship-role-source>
+                <cmr-field>
+                    <description>description_9</description>
+                    <cmr-field-name>name_9</cmr-field-name>
+                    <cmr-field-type>java.util.HashTable</cmr-field-type>
+                </cmr-field>
+            </ejb-relationship-role>
+        </ejb-relation>
+    </relationships>
+    <assembly-descriptor>
+        <security-role>
+            <description>description_5</description>
+            <role-name>roleName_5</role-name>
+        </security-role>
+        <security-role>
+            <description>description_6</description>
+            <role-name>roleName_6</role-name>
+        </security-role>
+        <security-role>
+            <description>description_7</description>
+            <role-name>roleName_7</role-name>
+        </security-role>
+        <security-role>
+            <description>description_8</description>
+            <role-name>roleName_8</role-name>
+        </security-role>
+        <security-role>
+            <description>description_9</description>
+            <role-name>roleName_9</role-name>
+        </security-role>
+        <method-permission>
+            <description>description_0</description>
+            <unchecked/>
+            <method>
+                <description>description_0</description>
+                <method-name>name_0</method-name>
+            </method>
+            <method>
+                <description>description_1</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_1</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_2</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_2</method-name>
+                <method-params>
+                    <method-param>parms_0</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_3</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_3</method-name>
+                <method-params>
+                    <method-param>parms_1</method-param>
+                    <method-param>parms_2</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_4</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_4</method-name>
+                <method-params>
+                    <method-param>parms_3</method-param>
+                    <method-param>parms_4</method-param>
+                    <method-param>parms_5</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_1</description>
+            <method>
+                <description>description_5</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_5</method-name>
+            </method>
+            <method>
+                <description>description_6</description>
+                <method-name>name_6</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_7</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_7</method-name>
+                <method-params>
+                    <method-param>parms_6</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_8</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_8</method-name>
+                <method-params>
+                    <method-param>parms_7</method-param>
+                    <method-param>parms_8</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_9</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_9</method-name>
+                <method-params>
+                    <method-param>parms_9</method-param>
+                    <method-param>parms_10</method-param>
+                    <method-param>parms_11</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_2</description>
+            <unchecked/>
+            <method>
+                <description>description_10</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_10</method-name>
+            </method>
+            <method>
+                <description>description_11</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_11</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_12</description>
+                <method-name>name_12</method-name>
+                <method-params>
+                    <method-param>parms_12</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_13</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_13</method-name>
+                <method-params>
+                    <method-param>parms_13</method-param>
+                    <method-param>parms_14</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_14</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_14</method-name>
+                <method-params>
+                    <method-param>parms_15</method-param>
+                    <method-param>parms_16</method-param>
+                    <method-param>parms_17</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_3</description>
+            <method>
+                <description>description_15</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_15</method-name>
+            </method>
+            <method>
+                <description>description_16</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_16</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_17</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_17</method-name>
+                <method-params>
+                    <method-param>parms_18</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_18</description>
+                <method-name>name_18</method-name>
+                <method-params>
+                    <method-param>parms_19</method-param>
+                    <method-param>parms_20</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_19</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_19</method-name>
+                <method-params>
+                    <method-param>parms_21</method-param>
+                    <method-param>parms_22</method-param>
+                    <method-param>parms_23</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <method-permission>
+            <description>description_4</description>
+            <unchecked/>
+            <method>
+                <description>description_20</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_20</method-name>
+            </method>
+            <method>
+                <description>description_21</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_21</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_22</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_22</method-name>
+                <method-params>
+                    <method-param>parms_24</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_23</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_23</method-name>
+                <method-params>
+                    <method-param>parms_25</method-param>
+                    <method-param>parms_26</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_24</description>
+                <method-name>name_24</method-name>
+                <method-params>
+                    <method-param>parms_27</method-param>
+                    <method-param>parms_28</method-param>
+                    <method-param>parms_29</method-param>
+                </method-params>
+            </method>
+        </method-permission>
+        <container-transaction>
+            <description>description_0</description>
+            <method>
+                <description>description_25</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_25</method-name>
+            </method>
+            <method>
+                <description>description_26</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_26</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_27</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_27</method-name>
+                <method-params>
+                    <method-param>parms_30</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_28</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_28</method-name>
+                <method-params>
+                    <method-param>parms_31</method-param>
+                    <method-param>parms_32</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_29</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_29</method-name>
+                <method-params>
+                    <method-param>parms_33</method-param>
+                    <method-param>parms_34</method-param>
+                    <method-param>parms_35</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>NotSupported</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_1</description>
+            <method>
+                <description>description_30</description>
+                <method-name>name_30</method-name>
+            </method>
+            <method>
+                <description>description_31</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_31</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_32</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_32</method-name>
+                <method-params>
+                    <method-param>parms_36</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_33</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_33</method-name>
+                <method-params>
+                    <method-param>parms_37</method-param>
+                    <method-param>parms_38</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_34</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_34</method-name>
+                <method-params>
+                    <method-param>parms_39</method-param>
+                    <method-param>parms_40</method-param>
+                    <method-param>parms_41</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Supports</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_2</description>
+            <method>
+                <description>description_35</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_35</method-name>
+            </method>
+            <method>
+                <description>description_36</description>
+                <method-name>name_36</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_37</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_37</method-name>
+                <method-params>
+                    <method-param>parms_42</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_38</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_38</method-name>
+                <method-params>
+                    <method-param>parms_43</method-param>
+                    <method-param>parms_44</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_39</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_39</method-name>
+                <method-params>
+                    <method-param>parms_45</method-param>
+                    <method-param>parms_46</method-param>
+                    <method-param>parms_47</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Required</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_3</description>
+            <method>
+                <description>description_40</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_40</method-name>
+            </method>
+            <method>
+                <description>description_41</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_41</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_42</description>
+                <method-name>name_42</method-name>
+                <method-params>
+                    <method-param>parms_48</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_43</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_43</method-name>
+                <method-params>
+                    <method-param>parms_49</method-param>
+                    <method-param>parms_50</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_44</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_44</method-name>
+                <method-params>
+                    <method-param>parms_51</method-param>
+                    <method-param>parms_52</method-param>
+                    <method-param>parms_53</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>RequiresNew</trans-attribute>
+        </container-transaction>
+        <container-transaction>
+            <description>description_4</description>
+            <method>
+                <description>description_45</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_45</method-name>
+            </method>
+            <method>
+                <description>description_46</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_46</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_47</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_47</method-name>
+                <method-params>
+                    <method-param>parms_54</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_48</description>
+                <method-name>name_48</method-name>
+                <method-params>
+                    <method-param>parms_55</method-param>
+                    <method-param>parms_56</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_49</description>
+                <method-intf>Remote</method-intf>
+                <method-name>name_49</method-name>
+                <method-params>
+                    <method-param>parms_57</method-param>
+                    <method-param>parms_58</method-param>
+                    <method-param>parms_59</method-param>
+                </method-params>
+            </method>
+            <trans-attribute>Mandatory</trans-attribute>
+        </container-transaction>
+        <exclude-list>
+            <description>description_0</description>
+            <method>
+                <description>description_50</description>
+                <method-intf>Home</method-intf>
+                <method-name>name_50</method-name>
+            </method>
+            <method>
+                <description>description_51</description>
+                <method-intf>Local</method-intf>
+                <method-name>name_51</method-name>
+                <method-params/>
+            </method>
+            <method>
+                <description>description_52</description>
+                <method-intf>LocalHome</method-intf>
+                <method-name>name_52</method-name>
+                <method-params>
+                    <method-param>parms_60</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_53</description>
+                <method-intf>ServiceEndpoint</method-intf>
+                <method-name>name_53</method-name>
+                <method-params>
+                    <method-param>parms_61</method-param>
+                    <method-param>parms_62</method-param>
+                </method-params>
+            </method>
+            <method>
+                <description>description_54</description>
+                <method-name>name_54</method-name>
+                <method-params>
+                    <method-param>parms_63</method-param>
+                    <method-param>parms_64</method-param>
+                    <method-param>parms_65</method-param>
+                </method-params>
+            </method>
+        </exclude-list>
+    </assembly-descriptor>
+    <ejb-client-jar>ejbClientJar_0</ejb-client-jar>
+</ejb-jar>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ra.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ra.xml
new file mode 100644
index 0000000..e0816ae
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/ra.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE connector PUBLIC "-//Sun Microsystems, Inc.//DTD Connector 1.0//EN" "http://java.sun.com/dtd/connector_1_0.dtd">
+
+   <connector id="Connector_ID">
+      <display-name>displayName_0</display-name>
+      <description>description_0</description>
+      <icon>
+         <small-icon>smallIcon_0</small-icon>
+         <large-icon>largeIcon_0</large-icon>
+      </icon>
+      <vendor-name>vendorName_0</vendor-name>
+      <spec-version>1.0</spec-version>
+      <eis-type>eisType_0</eis-type>
+      <version>1.0</version>
+      <license>
+         <description>description_0</description>
+         <license-required>true</license-required>
+      </license>
+      <resourceadapter id="ResourceAdapter_1051639769087">
+         <managedconnectionfactory-class>managedConnectionFactoryClass_0</managedconnectionfactory-class>
+         <connectionfactory-interface>connectionFactoryInterface_0</connectionfactory-interface>
+         <connectionfactory-impl-class>connectionFactoryImplClass_0</connectionfactory-impl-class>
+         <connection-interface>connectionInterface_0</connection-interface>
+         <connection-impl-class>connectionImplClass_0</connection-impl-class>
+         <transaction-support>NoTransaction</transaction-support>
+         <config-property id="ConfigProperty_1051639769127">
+            <description>description_0</description>
+            <config-property-name>name_0</config-property-name>
+            <config-property-type>type_0</config-property-type>
+            <config-property-value>value_0</config-property-value>
+         </config-property>
+         <config-property id="ConfigProperty_1051639769128">
+            <description>description_1</description>
+            <config-property-name>name_1</config-property-name>
+            <config-property-type>type_1</config-property-type>
+            <config-property-value>value_1</config-property-value>
+         </config-property>
+         <config-property id="ConfigProperty_1051639769129">
+            <description>description_2</description>
+            <config-property-name>name_2</config-property-name>
+            <config-property-type>type_2</config-property-type>
+            <config-property-value>value_2</config-property-value>
+         </config-property>
+         <config-property id="ConfigProperty_1051639769130">
+            <description>description_3</description>
+            <config-property-name>name_3</config-property-name>
+            <config-property-type>type_3</config-property-type>
+            <config-property-value>value_3</config-property-value>
+         </config-property>
+         <config-property id="ConfigProperty_1051639769131">
+            <description>description_4</description>
+            <config-property-name>name_4</config-property-name>
+            <config-property-type>type_4</config-property-type>
+            <config-property-value>value_4</config-property-value>
+         </config-property>
+         <authentication-mechanism id="AuthenticationMechanism_1051639769147">
+            <description>description_0</description>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>credentialInterface_0</credential-interface>
+         </authentication-mechanism>
+         <authentication-mechanism id="AuthenticationMechanism_1051639769148">
+            <description>description_1</description>
+            <authentication-mechanism-type>Kerbv5</authentication-mechanism-type>
+            <credential-interface>credentialInterface_1</credential-interface>
+         </authentication-mechanism>
+         <authentication-mechanism id="AuthenticationMechanism_1051639769149">
+            <description>description_2</description>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>credentialInterface_2</credential-interface>
+         </authentication-mechanism>
+         <authentication-mechanism id="AuthenticationMechanism_1051639769150">
+            <description>description_3</description>
+            <authentication-mechanism-type>Kerbv5</authentication-mechanism-type>
+            <credential-interface>credentialInterface_3</credential-interface>
+         </authentication-mechanism>
+         <authentication-mechanism id="AuthenticationMechanism_1051639769151">
+            <description>description_4</description>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>credentialInterface_4</credential-interface>
+         </authentication-mechanism>
+         <reauthentication-support>true</reauthentication-support>
+         <security-permission id="SecurityPermission_1051639769167">
+            <description>description_0</description>
+            <security-permission-spec>specification_0</security-permission-spec>
+         </security-permission>
+         <security-permission id="SecurityPermission_1051639769177">
+            <description>description_1</description>
+            <security-permission-spec>specification_1</security-permission-spec>
+         </security-permission>
+         <security-permission id="SecurityPermission_1051639769178">
+            <description>description_2</description>
+            <security-permission-spec>specification_2</security-permission-spec>
+         </security-permission>
+         <security-permission id="SecurityPermission_1051639769179">
+            <description>description_3</description>
+            <security-permission-spec>specification_3</security-permission-spec>
+         </security-permission>
+         <security-permission id="SecurityPermission_1051639769180">
+            <description>description_4</description>
+            <security-permission-spec>specification_4</security-permission-spec>
+         </security-permission>
+      </resourceadapter>
+   </connector>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/web.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/web.xml
new file mode 100644
index 0000000..27831b0
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/EMFTests/web.xml
@@ -0,0 +1,1285 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+   <web-app id="WebApp_ID">
+      <icon>
+         <small-icon>smallIcon_0</small-icon>
+         <large-icon>largeIcon_0</large-icon>
+      </icon>
+      <display-name>displayName_0</display-name>
+      <description>description_0</description>
+      <distributable></distributable>
+      <context-param id="ContextParam_1051643499852">
+         <param-name>paramName_0</param-name>
+         <param-value>paramValue_0</param-value>
+         <description>description_0</description>
+      </context-param>
+      <context-param id="ContextParam_1051643499853">
+         <param-name>paramName_1</param-name>
+         <param-value>paramValue_1</param-value>
+         <description>description_1</description>
+      </context-param>
+      <context-param id="ContextParam_1051643499862">
+         <param-name>paramName_2</param-name>
+         <param-value>paramValue_2</param-value>
+         <description>description_2</description>
+      </context-param>
+      <context-param id="ContextParam_1051643499863">
+         <param-name>paramName_3</param-name>
+         <param-value>paramValue_3</param-value>
+         <description>description_3</description>
+      </context-param>
+      <context-param id="ContextParam_1051643499872">
+         <param-name>paramName_4</param-name>
+         <param-value>paramValue_4</param-value>
+         <description>description_4</description>
+      </context-param>
+      <filter id="Filter_1051643499902">
+         <icon>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+         </icon>
+         <filter-name>name_0</filter-name>
+         <display-name>displayName_0</display-name>
+         <description>description_0</description>
+         <filter-class>java.lang.Integer</filter-class>
+         <init-param id="InitParam_1051643500002">
+            <param-name>paramName_25</param-name>
+            <param-value>paramValue_25</param-value>
+            <description>description_25</description>
+         </init-param>
+         <init-param id="InitParam_1051643500003">
+            <param-name>paramName_26</param-name>
+            <param-value>paramValue_26</param-value>
+            <description>description_26</description>
+         </init-param>
+         <init-param id="InitParam_1051643500004">
+            <param-name>paramName_27</param-name>
+            <param-value>paramValue_27</param-value>
+            <description>description_27</description>
+         </init-param>
+         <init-param id="InitParam_1051643500005">
+            <param-name>paramName_28</param-name>
+            <param-value>paramValue_28</param-value>
+            <description>description_28</description>
+         </init-param>
+         <init-param id="InitParam_1051643500006">
+            <param-name>paramName_29</param-name>
+            <param-value>paramValue_29</param-value>
+            <description>description_29</description>
+         </init-param>
+      </filter>
+      <filter id="Filter_1051643500002">
+         <icon>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+         </icon>
+         <filter-name>name_1</filter-name>
+         <display-name>displayName_1</display-name>
+         <description>description_1</description>
+         <filter-class>java.lang.String</filter-class>
+         <init-param id="InitParam_1051643500007">
+            <param-name>paramName_30</param-name>
+            <param-value>paramValue_30</param-value>
+            <description>description_30</description>
+         </init-param>
+         <init-param id="InitParam_1051643500012">
+            <param-name>paramName_31</param-name>
+            <param-value>paramValue_31</param-value>
+            <description>description_31</description>
+         </init-param>
+         <init-param id="InitParam_1051643500013">
+            <param-name>paramName_32</param-name>
+            <param-value>paramValue_32</param-value>
+            <description>description_32</description>
+         </init-param>
+         <init-param id="InitParam_1051643500014">
+            <param-name>paramName_33</param-name>
+            <param-value>paramValue_33</param-value>
+            <description>description_33</description>
+         </init-param>
+         <init-param id="InitParam_1051643500015">
+            <param-name>paramName_34</param-name>
+            <param-value>paramValue_34</param-value>
+            <description>description_34</description>
+         </init-param>
+      </filter>
+      <filter id="Filter_1051643500012">
+         <icon>
+            <small-icon>smallIcon_2</small-icon>
+            <large-icon>largeIcon_2</large-icon>
+         </icon>
+         <filter-name>name_2</filter-name>
+         <display-name>displayName_2</display-name>
+         <description>description_2</description>
+         <filter-class>java.util.HashTable</filter-class>
+         <init-param id="InitParam_1051643500016">
+            <param-name>paramName_35</param-name>
+            <param-value>paramValue_35</param-value>
+            <description>description_35</description>
+         </init-param>
+         <init-param id="InitParam_1051643500017">
+            <param-name>paramName_36</param-name>
+            <param-value>paramValue_36</param-value>
+            <description>description_36</description>
+         </init-param>
+         <init-param id="InitParam_1051643500018">
+            <param-name>paramName_37</param-name>
+            <param-value>paramValue_37</param-value>
+            <description>description_37</description>
+         </init-param>
+         <init-param id="InitParam_1051643500019">
+            <param-name>paramName_38</param-name>
+            <param-value>paramValue_38</param-value>
+            <description>description_38</description>
+         </init-param>
+         <init-param id="InitParam_1051643500020">
+            <param-name>paramName_39</param-name>
+            <param-value>paramValue_39</param-value>
+            <description>description_39</description>
+         </init-param>
+      </filter>
+      <filter id="Filter_1051643500013">
+         <icon>
+            <small-icon>smallIcon_3</small-icon>
+            <large-icon>largeIcon_3</large-icon>
+         </icon>
+         <filter-name>name_3</filter-name>
+         <display-name>displayName_3</display-name>
+         <description>description_3</description>
+         <filter-class>java.util.List</filter-class>
+         <init-param id="InitParam_1051643500021">
+            <param-name>paramName_40</param-name>
+            <param-value>paramValue_40</param-value>
+            <description>description_40</description>
+         </init-param>
+         <init-param id="InitParam_1051643500022">
+            <param-name>paramName_41</param-name>
+            <param-value>paramValue_41</param-value>
+            <description>description_41</description>
+         </init-param>
+         <init-param id="InitParam_1051643500032">
+            <param-name>paramName_42</param-name>
+            <param-value>paramValue_42</param-value>
+            <description>description_42</description>
+         </init-param>
+         <init-param id="InitParam_1051643500033">
+            <param-name>paramName_43</param-name>
+            <param-value>paramValue_43</param-value>
+            <description>description_43</description>
+         </init-param>
+         <init-param id="InitParam_1051643500034">
+            <param-name>paramName_44</param-name>
+            <param-value>paramValue_44</param-value>
+            <description>description_44</description>
+         </init-param>
+      </filter>
+      <filter id="Filter_1051643500032">
+         <icon>
+            <small-icon>smallIcon_4</small-icon>
+            <large-icon>largeIcon_4</large-icon>
+         </icon>
+         <filter-name>name_4</filter-name>
+         <display-name>displayName_4</display-name>
+         <description>description_4</description>
+         <filter-class>java.sql.Data</filter-class>
+         <init-param id="InitParam_1051643500035">
+            <param-name>paramName_45</param-name>
+            <param-value>paramValue_45</param-value>
+            <description>description_45</description>
+         </init-param>
+         <init-param id="InitParam_1051643500036">
+            <param-name>paramName_46</param-name>
+            <param-value>paramValue_46</param-value>
+            <description>description_46</description>
+         </init-param>
+         <init-param id="InitParam_1051643500037">
+            <param-name>paramName_47</param-name>
+            <param-value>paramValue_47</param-value>
+            <description>description_47</description>
+         </init-param>
+         <init-param id="InitParam_1051643500038">
+            <param-name>paramName_48</param-name>
+            <param-value>paramValue_48</param-value>
+            <description>description_48</description>
+         </init-param>
+         <init-param id="InitParam_1051643500042">
+            <param-name>paramName_49</param-name>
+            <param-value>paramValue_49</param-value>
+            <description>description_49</description>
+         </init-param>
+      </filter>
+      <filter-mapping id="FilterMapping_1051643500082">
+         <filter-name>name_0</filter-name>
+         <url-pattern>urlPattern_0</url-pattern>
+      </filter-mapping>
+      <filter-mapping id="FilterMapping_1051643500083">
+         <filter-name>name_1</filter-name>
+         <url-pattern>urlPattern_1</url-pattern>
+      </filter-mapping>
+      <filter-mapping id="FilterMapping_1051643500084">
+         <filter-name>name_2</filter-name>
+         <url-pattern>urlPattern_2</url-pattern>
+      </filter-mapping>
+      <filter-mapping id="FilterMapping_1051643500085">
+         <filter-name>name_3</filter-name>
+         <url-pattern>urlPattern_3</url-pattern>
+      </filter-mapping>
+      <filter-mapping id="FilterMapping_1051643500086">
+         <filter-name>name_4</filter-name>
+         <url-pattern>urlPattern_4</url-pattern>
+      </filter-mapping>
+      <listener id="Listener_1051643500112">
+         <listener-class>java.lang.Integer</listener-class>
+      </listener>
+      <listener id="Listener_1051643500113">
+         <listener-class>java.lang.String</listener-class>
+      </listener>
+      <listener id="Listener_1051643500114">
+         <listener-class>java.util.HashTable</listener-class>
+      </listener>
+      <listener id="Listener_1051643500115">
+         <listener-class>java.util.List</listener-class>
+      </listener>
+      <listener id="Listener_1051643500116">
+         <listener-class>java.sql.Data</listener-class>
+      </listener>
+      <servlet id="Servlet_1051643500212">
+         <icon>
+            <small-icon>smallIcon_0</small-icon>
+            <large-icon>largeIcon_0</large-icon>
+         </icon>
+         <servlet-name>servletName_0</servlet-name>
+         <display-name>displayName_0</display-name>
+         <description>description_0</description>
+         <jsp-file>jspFile_0</jsp-file>
+         <init-param id="InitParam_1051643500232">
+            <param-name>paramName_0</param-name>
+            <param-value>paramValue_0</param-value>
+            <description>description_0</description>
+         </init-param>
+         <init-param id="InitParam_1051643500233">
+            <param-name>paramName_1</param-name>
+            <param-value>paramValue_1</param-value>
+            <description>description_1</description>
+         </init-param>
+         <init-param id="InitParam_1051643500234">
+            <param-name>paramName_2</param-name>
+            <param-value>paramValue_2</param-value>
+            <description>description_2</description>
+         </init-param>
+         <init-param id="InitParam_1051643500235">
+            <param-name>paramName_3</param-name>
+            <param-value>paramValue_3</param-value>
+            <description>description_3</description>
+         </init-param>
+         <init-param id="InitParam_1051643500236">
+            <param-name>paramName_4</param-name>
+            <param-value>paramValue_4</param-value>
+            <description>description_4</description>
+         </init-param>
+         <load-on-startup>0</load-on-startup>
+         <run-as id="RunAsSpecifiedIdentity_1051643500232">
+            <description>description_0</description>
+            <role-name>roleName_0</role-name>
+         </run-as>
+         <security-role-ref id="SecurityRoleRef_1051643500272">
+            <description>description_0</description>
+            <role-name>name_0</role-name>
+            <role-link>link_0</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500273">
+            <description>description_1</description>
+            <role-name>name_1</role-name>
+            <role-link>link_1</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500274">
+            <description>description_2</description>
+            <role-name>name_2</role-name>
+            <role-link>link_2</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500275">
+            <description>description_3</description>
+            <role-name>name_3</role-name>
+            <role-link>link_3</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500276">
+            <description>description_4</description>
+            <role-name>name_4</role-name>
+            <role-link>link_4</role-link>
+         </security-role-ref>
+      </servlet>
+      <servlet id="Servlet_1051643500272">
+         <icon>
+            <small-icon>smallIcon_1</small-icon>
+            <large-icon>largeIcon_1</large-icon>
+         </icon>
+         <servlet-name>servletName_1</servlet-name>
+         <display-name>displayName_1</display-name>
+         <description>description_1</description>
+         <servlet-class>className_0</servlet-class>
+         <init-param id="InitParam_1051643500272">
+            <param-name>paramName_5</param-name>
+            <param-value>paramValue_5</param-value>
+            <description>description_5</description>
+         </init-param>
+         <init-param id="InitParam_1051643500273">
+            <param-name>paramName_6</param-name>
+            <param-value>paramValue_6</param-value>
+            <description>description_6</description>
+         </init-param>
+         <init-param id="InitParam_1051643500274">
+            <param-name>paramName_7</param-name>
+            <param-value>paramValue_7</param-value>
+            <description>description_7</description>
+         </init-param>
+         <init-param id="InitParam_1051643500275">
+            <param-name>paramName_8</param-name>
+            <param-value>paramValue_8</param-value>
+            <description>description_8</description>
+         </init-param>
+         <init-param id="InitParam_1051643500276">
+            <param-name>paramName_9</param-name>
+            <param-value>paramValue_9</param-value>
+            <description>description_9</description>
+         </init-param>
+         <load-on-startup>1</load-on-startup>
+         <run-as id="RunAsSpecifiedIdentity_1051643500272">
+            <description>description_1</description>
+            <role-name>roleName_1</role-name>
+         </run-as>
+         <security-role-ref id="SecurityRoleRef_1051643500277">
+            <description>description_5</description>
+            <role-name>name_5</role-name>
+            <role-link>link_5</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500278">
+            <description>description_6</description>
+            <role-name>name_6</role-name>
+            <role-link>link_6</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500282">
+            <description>description_7</description>
+            <role-name>name_7</role-name>
+            <role-link>link_7</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500283">
+            <description>description_8</description>
+            <role-name>name_8</role-name>
+            <role-link>link_8</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500284">
+            <description>description_9</description>
+            <role-name>name_9</role-name>
+            <role-link>link_9</role-link>
+         </security-role-ref>
+      </servlet>
+      <servlet id="Servlet_1051643500282">
+         <icon>
+            <small-icon>smallIcon_2</small-icon>
+            <large-icon>largeIcon_2</large-icon>
+         </icon>
+         <servlet-name>servletName_2</servlet-name>
+         <display-name>displayName_2</display-name>
+         <description>description_2</description>
+         <jsp-file>jspFile_1</jsp-file>
+         <init-param id="InitParam_1051643500282">
+            <param-name>paramName_10</param-name>
+            <param-value>paramValue_10</param-value>
+            <description>description_10</description>
+         </init-param>
+         <init-param id="InitParam_1051643500283">
+            <param-name>paramName_11</param-name>
+            <param-value>paramValue_11</param-value>
+            <description>description_11</description>
+         </init-param>
+         <init-param id="InitParam_1051643500284">
+            <param-name>paramName_12</param-name>
+            <param-value>paramValue_12</param-value>
+            <description>description_12</description>
+         </init-param>
+         <init-param id="InitParam_1051643500285">
+            <param-name>paramName_13</param-name>
+            <param-value>paramValue_13</param-value>
+            <description>description_13</description>
+         </init-param>
+         <init-param id="InitParam_1051643500286">
+            <param-name>paramName_14</param-name>
+            <param-value>paramValue_14</param-value>
+            <description>description_14</description>
+         </init-param>
+         <load-on-startup>2</load-on-startup>
+         <run-as id="RunAsSpecifiedIdentity_1051643500282">
+            <description>description_2</description>
+            <role-name>roleName_2</role-name>
+         </run-as>
+         <security-role-ref id="SecurityRoleRef_1051643500285">
+            <description>description_10</description>
+            <role-name>name_10</role-name>
+            <role-link>link_10</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500286">
+            <description>description_11</description>
+            <role-name>name_11</role-name>
+            <role-link>link_11</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500287">
+            <description>description_12</description>
+            <role-name>name_12</role-name>
+            <role-link>link_12</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500288">
+            <description>description_13</description>
+            <role-name>name_13</role-name>
+            <role-link>link_13</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500289">
+            <description>description_14</description>
+            <role-name>name_14</role-name>
+            <role-link>link_14</role-link>
+         </security-role-ref>
+      </servlet>
+      <servlet id="Servlet_1051643500283">
+         <icon>
+            <small-icon>smallIcon_3</small-icon>
+            <large-icon>largeIcon_3</large-icon>
+         </icon>
+         <servlet-name>servletName_3</servlet-name>
+         <display-name>displayName_3</display-name>
+         <description>description_3</description>
+         <servlet-class>className_1</servlet-class>
+         <init-param id="InitParam_1051643500287">
+            <param-name>paramName_15</param-name>
+            <param-value>paramValue_15</param-value>
+            <description>description_15</description>
+         </init-param>
+         <init-param id="InitParam_1051643500288">
+            <param-name>paramName_16</param-name>
+            <param-value>paramValue_16</param-value>
+            <description>description_16</description>
+         </init-param>
+         <init-param id="InitParam_1051643500292">
+            <param-name>paramName_17</param-name>
+            <param-value>paramValue_17</param-value>
+            <description>description_17</description>
+         </init-param>
+         <init-param id="InitParam_1051643500293">
+            <param-name>paramName_18</param-name>
+            <param-value>paramValue_18</param-value>
+            <description>description_18</description>
+         </init-param>
+         <init-param id="InitParam_1051643500294">
+            <param-name>paramName_19</param-name>
+            <param-value>paramValue_19</param-value>
+            <description>description_19</description>
+         </init-param>
+         <load-on-startup>3</load-on-startup>
+         <run-as id="RunAsSpecifiedIdentity_1051643500292">
+            <description>description_3</description>
+            <role-name>roleName_3</role-name>
+         </run-as>
+         <security-role-ref id="SecurityRoleRef_1051643500292">
+            <description>description_15</description>
+            <role-name>name_15</role-name>
+            <role-link>link_15</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500293">
+            <description>description_16</description>
+            <role-name>name_16</role-name>
+            <role-link>link_16</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500294">
+            <description>description_17</description>
+            <role-name>name_17</role-name>
+            <role-link>link_17</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500295">
+            <description>description_18</description>
+            <role-name>name_18</role-name>
+            <role-link>link_18</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500296">
+            <description>description_19</description>
+            <role-name>name_19</role-name>
+            <role-link>link_19</role-link>
+         </security-role-ref>
+      </servlet>
+      <servlet id="Servlet_1051643500292">
+         <icon>
+            <small-icon>smallIcon_4</small-icon>
+            <large-icon>largeIcon_4</large-icon>
+         </icon>
+         <servlet-name>servletName_4</servlet-name>
+         <display-name>displayName_4</display-name>
+         <description>description_4</description>
+         <jsp-file>jspFile_2</jsp-file>
+         <init-param id="InitParam_1051643500295">
+            <param-name>paramName_20</param-name>
+            <param-value>paramValue_20</param-value>
+            <description>description_20</description>
+         </init-param>
+         <init-param id="InitParam_1051643500296">
+            <param-name>paramName_21</param-name>
+            <param-value>paramValue_21</param-value>
+            <description>description_21</description>
+         </init-param>
+         <init-param id="InitParam_1051643500297">
+            <param-name>paramName_22</param-name>
+            <param-value>paramValue_22</param-value>
+            <description>description_22</description>
+         </init-param>
+         <init-param id="InitParam_1051643500298">
+            <param-name>paramName_23</param-name>
+            <param-value>paramValue_23</param-value>
+            <description>description_23</description>
+         </init-param>
+         <init-param id="InitParam_1051643500299">
+            <param-name>paramName_24</param-name>
+            <param-value>paramValue_24</param-value>
+            <description>description_24</description>
+         </init-param>
+         <load-on-startup>4</load-on-startup>
+         <run-as id="RunAsSpecifiedIdentity_1051643500293">
+            <description>description_4</description>
+            <role-name>roleName_4</role-name>
+         </run-as>
+         <security-role-ref id="SecurityRoleRef_1051643500297">
+            <description>description_20</description>
+            <role-name>name_20</role-name>
+            <role-link>link_20</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500298">
+            <description>description_21</description>
+            <role-name>name_21</role-name>
+            <role-link>link_21</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500299">
+            <description>description_22</description>
+            <role-name>name_22</role-name>
+            <role-link>link_22</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500300">
+            <description>description_23</description>
+            <role-name>name_23</role-name>
+            <role-link>link_23</role-link>
+         </security-role-ref>
+         <security-role-ref id="SecurityRoleRef_1051643500301">
+            <description>description_24</description>
+            <role-name>name_24</role-name>
+            <role-link>link_24</role-link>
+         </security-role-ref>
+      </servlet>
+      <servlet-mapping id="ServletMapping_1051643500312">
+         <servlet-name>servletName_0</servlet-name>
+         <url-pattern>urlPattern_0</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_1051643500313">
+         <servlet-name>servletName_1</servlet-name>
+         <url-pattern>urlPattern_1</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_1051643500314">
+         <servlet-name>servletName_2</servlet-name>
+         <url-pattern>urlPattern_2</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_1051643500315">
+         <servlet-name>servletName_3</servlet-name>
+         <url-pattern>urlPattern_3</url-pattern>
+      </servlet-mapping>
+      <servlet-mapping id="ServletMapping_1051643500316">
+         <servlet-name>servletName_4</servlet-name>
+         <url-pattern>urlPattern_4</url-pattern>
+      </servlet-mapping>
+      <session-config id="SessionConfig_1051643500312">
+         <session-timeout>0</session-timeout>
+      </session-config>
+      <mime-mapping id="MimeMapping_1051643500332">
+         <extension>extension_0</extension>
+         <mime-type>mimeType_0</mime-type>
+      </mime-mapping>
+      <mime-mapping id="MimeMapping_1051643500333">
+         <extension>extension_1</extension>
+         <mime-type>mimeType_1</mime-type>
+      </mime-mapping>
+      <mime-mapping id="MimeMapping_1051643500334">
+         <extension>extension_2</extension>
+         <mime-type>mimeType_2</mime-type>
+      </mime-mapping>
+      <mime-mapping id="MimeMapping_1051643500335">
+         <extension>extension_3</extension>
+         <mime-type>mimeType_3</mime-type>
+      </mime-mapping>
+      <mime-mapping id="MimeMapping_1051643500336">
+         <extension>extension_4</extension>
+         <mime-type>mimeType_4</mime-type>
+      </mime-mapping>
+      <welcome-file-list id="WelcomeFileList_1051643500332">
+         <welcome-file>welcomeFile_0</welcome-file>
+         <welcome-file>welcomeFile_1</welcome-file>
+         <welcome-file>welcomeFile_2</welcome-file>
+         <welcome-file>welcomeFile_3</welcome-file>
+         <welcome-file>welcomeFile_4</welcome-file>
+      </welcome-file-list>
+      <error-page id="ExceptionTypeErrorPage_1051643500342">
+         <exception-type>java.util.HashTable</exception-type>
+         <location>location_0</location>
+      </error-page>
+      <error-page id="ErrorCodeErrorPage_1051643500342">
+         <error-code>errorCode_0</error-code>
+         <location>location_1</location>
+      </error-page>
+      <error-page id="ExceptionTypeErrorPage_1051643500343">
+         <exception-type>java.util.List</exception-type>
+         <location>location_2</location>
+      </error-page>
+      <error-page id="ErrorCodeErrorPage_1051643500343">
+         <error-code>errorCode_1</error-code>
+         <location>location_3</location>
+      </error-page>
+      <error-page id="ExceptionTypeErrorPage_1051643500352">
+         <exception-type>java.sql.Data</exception-type>
+         <location>location_4</location>
+      </error-page>
+      <taglib id="TagLibRef_1051643500362">
+         <taglib-uri>taglibURI_0</taglib-uri>
+         <taglib-location>taglibLocation_0</taglib-location>
+      </taglib>
+      <taglib id="TagLibRef_1051643500363">
+         <taglib-uri>taglibURI_1</taglib-uri>
+         <taglib-location>taglibLocation_1</taglib-location>
+      </taglib>
+      <taglib id="TagLibRef_1051643500364">
+         <taglib-uri>taglibURI_2</taglib-uri>
+         <taglib-location>taglibLocation_2</taglib-location>
+      </taglib>
+      <taglib id="TagLibRef_1051643500365">
+         <taglib-uri>taglibURI_3</taglib-uri>
+         <taglib-location>taglibLocation_3</taglib-location>
+      </taglib>
+      <taglib id="TagLibRef_1051643500366">
+         <taglib-uri>taglibURI_4</taglib-uri>
+         <taglib-location>taglibLocation_4</taglib-location>
+      </taglib>
+      <resource-env-ref id="ResourceEnvRef_1051643500382">
+         <description>description_0</description>
+         <resource-env-ref-name>name_0</resource-env-ref-name>
+         <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref id="ResourceEnvRef_1051643500383">
+         <description>description_1</description>
+         <resource-env-ref-name>name_1</resource-env-ref-name>
+         <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref id="ResourceEnvRef_1051643500384">
+         <description>description_2</description>
+         <resource-env-ref-name>name_2</resource-env-ref-name>
+         <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref id="ResourceEnvRef_1051643500385">
+         <description>description_3</description>
+         <resource-env-ref-name>name_3</resource-env-ref-name>
+         <resource-env-ref-type>java.util.List</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-env-ref id="ResourceEnvRef_1051643500386">
+         <description>description_4</description>
+         <resource-env-ref-name>name_4</resource-env-ref-name>
+         <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+      </resource-env-ref>
+      <resource-ref id="ResourceRef_1051643500402">
+         <description>description_0</description>
+         <res-ref-name>name_0</res-ref-name>
+         <res-type>type_0</res-type>
+         <res-auth>Container</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref id="ResourceRef_1051643500403">
+         <description>description_1</description>
+         <res-ref-name>name_1</res-ref-name>
+         <res-type>type_1</res-type>
+         <res-auth>Application</res-auth>
+         <res-sharing-scope>Unshareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref id="ResourceRef_1051643500404">
+         <description>description_2</description>
+         <res-ref-name>name_2</res-ref-name>
+         <res-type>type_2</res-type>
+         <res-auth>Container</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref id="ResourceRef_1051643500405">
+         <description>description_3</description>
+         <res-ref-name>name_3</res-ref-name>
+         <res-type>type_3</res-type>
+         <res-auth>Application</res-auth>
+         <res-sharing-scope>Unshareable</res-sharing-scope>
+      </resource-ref>
+      <resource-ref id="ResourceRef_1051643500406">
+         <description>description_4</description>
+         <res-ref-name>name_4</res-ref-name>
+         <res-type>type_4</res-type>
+         <res-auth>Container</res-auth>
+         <res-sharing-scope>Shareable</res-sharing-scope>
+      </resource-ref>
+      <security-constraint id="SecurityConstraint_1051643500432">
+         <display-name>displayName_0</display-name>
+         <web-resource-collection id="WebResourceCollection_1051643500452">
+            <web-resource-name>webResourceName_0</web-resource-name>
+            <description>description_0</description>
+            <url-pattern>urlPattern_0</url-pattern>
+            <url-pattern>urlPattern_1</url-pattern>
+            <url-pattern>urlPattern_2</url-pattern>
+            <url-pattern>urlPattern_3</url-pattern>
+            <url-pattern>urlPattern_4</url-pattern>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500453">
+            <web-resource-name>webResourceName_1</web-resource-name>
+            <description>description_1</description>
+            <url-pattern>urlPattern_5</url-pattern>
+            <url-pattern>urlPattern_6</url-pattern>
+            <url-pattern>urlPattern_7</url-pattern>
+            <url-pattern>urlPattern_8</url-pattern>
+            <url-pattern>urlPattern_9</url-pattern>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500454">
+            <web-resource-name>webResourceName_2</web-resource-name>
+            <description>description_2</description>
+            <url-pattern>urlPattern_10</url-pattern>
+            <url-pattern>urlPattern_11</url-pattern>
+            <url-pattern>urlPattern_12</url-pattern>
+            <url-pattern>urlPattern_13</url-pattern>
+            <url-pattern>urlPattern_14</url-pattern>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500455">
+            <web-resource-name>webResourceName_3</web-resource-name>
+            <description>description_3</description>
+            <url-pattern>urlPattern_15</url-pattern>
+            <url-pattern>urlPattern_16</url-pattern>
+            <url-pattern>urlPattern_17</url-pattern>
+            <url-pattern>urlPattern_18</url-pattern>
+            <url-pattern>urlPattern_19</url-pattern>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500462">
+            <web-resource-name>webResourceName_4</web-resource-name>
+            <description>description_4</description>
+            <url-pattern>urlPattern_20</url-pattern>
+            <url-pattern>urlPattern_21</url-pattern>
+            <url-pattern>urlPattern_22</url-pattern>
+            <url-pattern>urlPattern_23</url-pattern>
+            <url-pattern>urlPattern_24</url-pattern>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+         </web-resource-collection>
+         <auth-constraint id="AuthConstraint_1051643500462">
+            <description>description_0</description>
+            <role-name>roles_0</role-name>
+            <role-name>roles_1</role-name>
+            <role-name>roles_2</role-name>
+            <role-name>roles_3</role-name>
+            <role-name>roles_4</role-name>
+         </auth-constraint>
+         <user-data-constraint id="UserDataConstraint_1051643500462">
+            <description>description_0</description>
+            <transport-guarantee>NONE</transport-guarantee>
+         </user-data-constraint>
+      </security-constraint>
+      <security-constraint id="SecurityConstraint_1051643500462">
+         <display-name>displayName_1</display-name>
+         <web-resource-collection id="WebResourceCollection_1051643500463">
+            <web-resource-name>webResourceName_5</web-resource-name>
+            <description>description_5</description>
+            <url-pattern>urlPattern_25</url-pattern>
+            <url-pattern>urlPattern_26</url-pattern>
+            <url-pattern>urlPattern_27</url-pattern>
+            <url-pattern>urlPattern_28</url-pattern>
+            <url-pattern>urlPattern_29</url-pattern>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500464">
+            <web-resource-name>webResourceName_6</web-resource-name>
+            <description>description_6</description>
+            <url-pattern>urlPattern_30</url-pattern>
+            <url-pattern>urlPattern_31</url-pattern>
+            <url-pattern>urlPattern_32</url-pattern>
+            <url-pattern>urlPattern_33</url-pattern>
+            <url-pattern>urlPattern_34</url-pattern>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500465">
+            <web-resource-name>webResourceName_7</web-resource-name>
+            <description>description_7</description>
+            <url-pattern>urlPattern_35</url-pattern>
+            <url-pattern>urlPattern_36</url-pattern>
+            <url-pattern>urlPattern_37</url-pattern>
+            <url-pattern>urlPattern_38</url-pattern>
+            <url-pattern>urlPattern_39</url-pattern>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500466">
+            <web-resource-name>webResourceName_8</web-resource-name>
+            <description>description_8</description>
+            <url-pattern>urlPattern_40</url-pattern>
+            <url-pattern>urlPattern_41</url-pattern>
+            <url-pattern>urlPattern_42</url-pattern>
+            <url-pattern>urlPattern_43</url-pattern>
+            <url-pattern>urlPattern_44</url-pattern>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500467">
+            <web-resource-name>webResourceName_9</web-resource-name>
+            <description>description_9</description>
+            <url-pattern>urlPattern_45</url-pattern>
+            <url-pattern>urlPattern_46</url-pattern>
+            <url-pattern>urlPattern_47</url-pattern>
+            <url-pattern>urlPattern_48</url-pattern>
+            <url-pattern>urlPattern_49</url-pattern>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+         </web-resource-collection>
+         <auth-constraint id="AuthConstraint_1051643500463">
+            <description>description_1</description>
+            <role-name>roles_5</role-name>
+            <role-name>roles_6</role-name>
+            <role-name>roles_7</role-name>
+            <role-name>roles_8</role-name>
+            <role-name>roles_9</role-name>
+         </auth-constraint>
+         <user-data-constraint id="UserDataConstraint_1051643500463">
+            <description>description_1</description>
+            <transport-guarantee>INTEGRAL</transport-guarantee>
+         </user-data-constraint>
+      </security-constraint>
+      <security-constraint id="SecurityConstraint_1051643500463">
+         <display-name>displayName_2</display-name>
+         <web-resource-collection id="WebResourceCollection_1051643500468">
+            <web-resource-name>webResourceName_10</web-resource-name>
+            <description>description_10</description>
+            <url-pattern>urlPattern_50</url-pattern>
+            <url-pattern>urlPattern_51</url-pattern>
+            <url-pattern>urlPattern_52</url-pattern>
+            <url-pattern>urlPattern_53</url-pattern>
+            <url-pattern>urlPattern_54</url-pattern>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500469">
+            <web-resource-name>webResourceName_11</web-resource-name>
+            <description>description_11</description>
+            <url-pattern>urlPattern_55</url-pattern>
+            <url-pattern>urlPattern_56</url-pattern>
+            <url-pattern>urlPattern_57</url-pattern>
+            <url-pattern>urlPattern_58</url-pattern>
+            <url-pattern>urlPattern_59</url-pattern>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500470">
+            <web-resource-name>webResourceName_12</web-resource-name>
+            <description>description_12</description>
+            <url-pattern>urlPattern_60</url-pattern>
+            <url-pattern>urlPattern_61</url-pattern>
+            <url-pattern>urlPattern_62</url-pattern>
+            <url-pattern>urlPattern_63</url-pattern>
+            <url-pattern>urlPattern_64</url-pattern>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500471">
+            <web-resource-name>webResourceName_13</web-resource-name>
+            <description>description_13</description>
+            <url-pattern>urlPattern_65</url-pattern>
+            <url-pattern>urlPattern_66</url-pattern>
+            <url-pattern>urlPattern_67</url-pattern>
+            <url-pattern>urlPattern_68</url-pattern>
+            <url-pattern>urlPattern_69</url-pattern>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500472">
+            <web-resource-name>webResourceName_14</web-resource-name>
+            <description>description_14</description>
+            <url-pattern>urlPattern_70</url-pattern>
+            <url-pattern>urlPattern_71</url-pattern>
+            <url-pattern>urlPattern_72</url-pattern>
+            <url-pattern>urlPattern_73</url-pattern>
+            <url-pattern>urlPattern_74</url-pattern>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+         </web-resource-collection>
+         <auth-constraint id="AuthConstraint_1051643500464">
+            <description>description_2</description>
+            <role-name>roles_10</role-name>
+            <role-name>roles_11</role-name>
+            <role-name>roles_12</role-name>
+            <role-name>roles_13</role-name>
+            <role-name>roles_14</role-name>
+         </auth-constraint>
+         <user-data-constraint id="UserDataConstraint_1051643500464">
+            <description>description_2</description>
+            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
+         </user-data-constraint>
+      </security-constraint>
+      <security-constraint id="SecurityConstraint_1051643500464">
+         <display-name>displayName_3</display-name>
+         <web-resource-collection id="WebResourceCollection_1051643500473">
+            <web-resource-name>webResourceName_15</web-resource-name>
+            <description>description_15</description>
+            <url-pattern>urlPattern_75</url-pattern>
+            <url-pattern>urlPattern_76</url-pattern>
+            <url-pattern>urlPattern_77</url-pattern>
+            <url-pattern>urlPattern_78</url-pattern>
+            <url-pattern>urlPattern_79</url-pattern>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500474">
+            <web-resource-name>webResourceName_16</web-resource-name>
+            <description>description_16</description>
+            <url-pattern>urlPattern_80</url-pattern>
+            <url-pattern>urlPattern_81</url-pattern>
+            <url-pattern>urlPattern_82</url-pattern>
+            <url-pattern>urlPattern_83</url-pattern>
+            <url-pattern>urlPattern_84</url-pattern>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500475">
+            <web-resource-name>webResourceName_17</web-resource-name>
+            <description>description_17</description>
+            <url-pattern>urlPattern_85</url-pattern>
+            <url-pattern>urlPattern_86</url-pattern>
+            <url-pattern>urlPattern_87</url-pattern>
+            <url-pattern>urlPattern_88</url-pattern>
+            <url-pattern>urlPattern_89</url-pattern>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500476">
+            <web-resource-name>webResourceName_18</web-resource-name>
+            <description>description_18</description>
+            <url-pattern>urlPattern_90</url-pattern>
+            <url-pattern>urlPattern_91</url-pattern>
+            <url-pattern>urlPattern_92</url-pattern>
+            <url-pattern>urlPattern_93</url-pattern>
+            <url-pattern>urlPattern_94</url-pattern>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500477">
+            <web-resource-name>webResourceName_19</web-resource-name>
+            <description>description_19</description>
+            <url-pattern>urlPattern_95</url-pattern>
+            <url-pattern>urlPattern_96</url-pattern>
+            <url-pattern>urlPattern_97</url-pattern>
+            <url-pattern>urlPattern_98</url-pattern>
+            <url-pattern>urlPattern_99</url-pattern>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+         </web-resource-collection>
+         <auth-constraint id="AuthConstraint_1051643500472">
+            <description>description_3</description>
+            <role-name>roles_15</role-name>
+            <role-name>roles_16</role-name>
+            <role-name>roles_17</role-name>
+            <role-name>roles_18</role-name>
+            <role-name>roles_19</role-name>
+         </auth-constraint>
+         <user-data-constraint id="UserDataConstraint_1051643500472">
+            <description>description_3</description>
+            <transport-guarantee>NONE</transport-guarantee>
+         </user-data-constraint>
+      </security-constraint>
+      <security-constraint id="SecurityConstraint_1051643500472">
+         <display-name>displayName_4</display-name>
+         <web-resource-collection id="WebResourceCollection_1051643500478">
+            <web-resource-name>webResourceName_20</web-resource-name>
+            <description>description_20</description>
+            <url-pattern>urlPattern_100</url-pattern>
+            <url-pattern>urlPattern_101</url-pattern>
+            <url-pattern>urlPattern_102</url-pattern>
+            <url-pattern>urlPattern_103</url-pattern>
+            <url-pattern>urlPattern_104</url-pattern>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500479">
+            <web-resource-name>webResourceName_21</web-resource-name>
+            <description>description_21</description>
+            <url-pattern>urlPattern_105</url-pattern>
+            <url-pattern>urlPattern_106</url-pattern>
+            <url-pattern>urlPattern_107</url-pattern>
+            <url-pattern>urlPattern_108</url-pattern>
+            <url-pattern>urlPattern_109</url-pattern>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500480">
+            <web-resource-name>webResourceName_22</web-resource-name>
+            <description>description_22</description>
+            <url-pattern>urlPattern_110</url-pattern>
+            <url-pattern>urlPattern_111</url-pattern>
+            <url-pattern>urlPattern_112</url-pattern>
+            <url-pattern>urlPattern_113</url-pattern>
+            <url-pattern>urlPattern_114</url-pattern>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500481">
+            <web-resource-name>webResourceName_23</web-resource-name>
+            <description>description_23</description>
+            <url-pattern>urlPattern_115</url-pattern>
+            <url-pattern>urlPattern_116</url-pattern>
+            <url-pattern>urlPattern_117</url-pattern>
+            <url-pattern>urlPattern_118</url-pattern>
+            <url-pattern>urlPattern_119</url-pattern>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+            <http-method>TRACE</http-method>
+            <http-method>GET</http-method>
+         </web-resource-collection>
+         <web-resource-collection id="WebResourceCollection_1051643500482">
+            <web-resource-name>webResourceName_24</web-resource-name>
+            <description>description_24</description>
+            <url-pattern>urlPattern_120</url-pattern>
+            <url-pattern>urlPattern_121</url-pattern>
+            <url-pattern>urlPattern_122</url-pattern>
+            <url-pattern>urlPattern_123</url-pattern>
+            <url-pattern>urlPattern_124</url-pattern>
+            <http-method>POST</http-method>
+            <http-method>PUT</http-method>
+            <http-method>DELETE</http-method>
+            <http-method>HEAD</http-method>
+            <http-method>OPTIONS</http-method>
+         </web-resource-collection>
+         <auth-constraint id="AuthConstraint_1051643500473">
+            <description>description_4</description>
+            <role-name>roles_20</role-name>
+            <role-name>roles_21</role-name>
+            <role-name>roles_22</role-name>
+            <role-name>roles_23</role-name>
+            <role-name>roles_24</role-name>
+         </auth-constraint>
+         <user-data-constraint id="UserDataConstraint_1051643500473">
+            <description>description_4</description>
+            <transport-guarantee>INTEGRAL</transport-guarantee>
+         </user-data-constraint>
+      </security-constraint>
+      <login-config id="LoginConfig_1051643500482">
+         <auth-method>BASIC</auth-method>
+         <realm-name>realmName_0</realm-name>
+         <form-login-config id="FormLoginConfig_1051643500482">
+            <form-login-page>formLoginPage_0</form-login-page>
+            <form-error-page>formErrorPage_0</form-error-page>
+         </form-login-config>
+      </login-config>
+      <security-role id="SecurityRole_1051643500492">
+         <description>description_0</description>
+         <role-name>roleName_0</role-name>
+      </security-role>
+      <security-role id="SecurityRole_1051643500493">
+         <description>description_1</description>
+         <role-name>roleName_1</role-name>
+      </security-role>
+      <security-role id="SecurityRole_1051643500494">
+         <description>description_2</description>
+         <role-name>roleName_2</role-name>
+      </security-role>
+      <security-role id="SecurityRole_1051643500495">
+         <description>description_3</description>
+         <role-name>roleName_3</role-name>
+      </security-role>
+      <security-role id="SecurityRole_1051643500496">
+         <description>description_4</description>
+         <role-name>roleName_4</role-name>
+      </security-role>
+      <env-entry id="EnvEntry_1051643500513">
+         <description>description_0</description>
+         <env-entry-name>name_0</env-entry-name>
+         <env-entry-value>value_0</env-entry-value>
+         <env-entry-type>java.lang.String</env-entry-type>
+      </env-entry>
+      <env-entry id="EnvEntry_1051643500514">
+         <description>description_1</description>
+         <env-entry-name>name_1</env-entry-name>
+         <env-entry-value>value_1</env-entry-value>
+         <env-entry-type>java.lang.Integer</env-entry-type>
+      </env-entry>
+      <env-entry id="EnvEntry_1051643500515">
+         <description>description_2</description>
+         <env-entry-name>name_2</env-entry-name>
+         <env-entry-value>value_2</env-entry-value>
+         <env-entry-type>java.lang.Boolean</env-entry-type>
+      </env-entry>
+      <env-entry id="EnvEntry_1051643500516">
+         <description>description_3</description>
+         <env-entry-name>name_3</env-entry-name>
+         <env-entry-value>value_3</env-entry-value>
+         <env-entry-type>java.lang.Double</env-entry-type>
+      </env-entry>
+      <env-entry id="EnvEntry_1051643500517">
+         <description>description_4</description>
+         <env-entry-name>name_4</env-entry-name>
+         <env-entry-value>value_4</env-entry-value>
+         <env-entry-type>java.lang.Byte</env-entry-type>
+      </env-entry>
+      <ejb-ref id="EjbRef_1051643500533">
+         <description>description_0</description>
+         <ejb-ref-name>name_0</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <home>home_0</home>
+         <remote>remote_0</remote>
+         <ejb-link>link_0</ejb-link>
+      </ejb-ref>
+      <ejb-ref id="EjbRef_1051643500534">
+         <description>description_1</description>
+         <ejb-ref-name>name_1</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <home>home_1</home>
+         <remote>remote_1</remote>
+         <ejb-link>link_1</ejb-link>
+      </ejb-ref>
+      <ejb-ref id="EjbRef_1051643500535">
+         <description>description_2</description>
+         <ejb-ref-name>name_2</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <home>home_2</home>
+         <remote>remote_2</remote>
+         <ejb-link>link_2</ejb-link>
+      </ejb-ref>
+      <ejb-ref id="EjbRef_1051643500536">
+         <description>description_3</description>
+         <ejb-ref-name>name_3</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <home>home_3</home>
+         <remote>remote_3</remote>
+         <ejb-link>link_3</ejb-link>
+      </ejb-ref>
+      <ejb-ref id="EjbRef_1051643500537">
+         <description>description_4</description>
+         <ejb-ref-name>name_4</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <home>home_4</home>
+         <remote>remote_4</remote>
+         <ejb-link>link_4</ejb-link>
+      </ejb-ref>
+      <ejb-local-ref id="EJBLocalRef_1051643500553">
+         <description>description_5</description>
+         <ejb-ref-name>name_5</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <local-home>home_5</local-home>
+         <local>remote_5</local>
+         <ejb-link>link_5</ejb-link>
+      </ejb-local-ref>
+      <ejb-local-ref id="EJBLocalRef_1051643500554">
+         <description>description_6</description>
+         <ejb-ref-name>name_6</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <local-home>home_6</local-home>
+         <local>remote_6</local>
+         <ejb-link>link_6</ejb-link>
+      </ejb-local-ref>
+      <ejb-local-ref id="EJBLocalRef_1051643500555">
+         <description>description_7</description>
+         <ejb-ref-name>name_7</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <local-home>home_7</local-home>
+         <local>remote_7</local>
+         <ejb-link>link_7</ejb-link>
+      </ejb-local-ref>
+      <ejb-local-ref id="EJBLocalRef_1051643500556">
+         <description>description_8</description>
+         <ejb-ref-name>name_8</ejb-ref-name>
+         <ejb-ref-type>Session</ejb-ref-type>
+         <local-home>home_8</local-home>
+         <local>remote_8</local>
+         <ejb-link>link_8</ejb-link>
+      </ejb-local-ref>
+      <ejb-local-ref id="EJBLocalRef_1051643500557">
+         <description>description_9</description>
+         <ejb-ref-name>name_9</ejb-ref-name>
+         <ejb-ref-type>Entity</ejb-ref-type>
+         <local-home>home_9</local-home>
+         <local>remote_9</local>
+         <ejb-link>link_9</ejb-link>
+      </ejb-local-ref>
+   </web-app>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/.classpath b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/.classpath
new file mode 100644
index 0000000..02aee8b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="lib" path="runtime/j2ee.jar"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/.project b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/.project
new file mode 100644
index 0000000..16d2903
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>StressSampleProject</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/A.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/A.class
new file mode 100644
index 0000000..1b6ab5a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/A.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/A_1.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/A_1.class
new file mode 100644
index 0000000..4eea07a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/A_1.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/B.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/B.class
new file mode 100644
index 0000000..3d07376
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/B.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/C$1.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/C$1.class
new file mode 100644
index 0000000..d9d15f6
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/C$1.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/C$MyRunnable.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/C$MyRunnable.class
new file mode 100644
index 0000000..04ff162
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/C$MyRunnable.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/C.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/C.class
new file mode 100644
index 0000000..cc30109
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/C.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/D.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/D.class
new file mode 100644
index 0000000..271b612
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/D.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/E$Test$1.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/E$Test$1.class
new file mode 100644
index 0000000..6c4ba9c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/E$Test$1.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/E.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/E.class
new file mode 100644
index 0000000..a95a546
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/E.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/IA.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/IA.class
new file mode 100644
index 0000000..88a9382
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/IA.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/IB.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/IB.class
new file mode 100644
index 0000000..37a5929
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/IB.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/ID.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/ID.class
new file mode 100644
index 0000000..69436de
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/ID.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1Bean.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1Bean.class
new file mode 100644
index 0000000..6640c91
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1Bean.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1Key.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1Key.class
new file mode 100644
index 0000000..3145d32
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1Key.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1Local.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1Local.class
new file mode 100644
index 0000000..74c443c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1Local.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1LocalHome.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1LocalHome.class
new file mode 100644
index 0000000..f363e14
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/bin/org/eclipse/jst/j2ee/java/stressSample/Test1LocalHome.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/runtime/j2ee.jar b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/runtime/j2ee.jar
new file mode 100644
index 0000000..d46e5b2
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/runtime/j2ee.jar
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/A.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/A.java
new file mode 100644
index 0000000..8557e09
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/A.java
@@ -0,0 +1,53 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+/**
+ *	test class A, touches all the other classes here.
+ *		plus, uses lots of array types.
+ */
+public class A implements IA {
+	public A anA;
+	public B aB;
+	public static final String testString = "testing";
+	public B[] bees;
+	public B[][] bees_and_bees;
+	// primitive array fields
+	public int[] ints;
+	public int[][] ints2;
+	public int[][][] ints3;
+	public char[] chars;
+	public float[] floats;
+	public boolean[] cools;
+	public double[] doubles;
+	public long[] longs;
+	public short[] shorts;
+	public byte[] bytes;
+	// primitive field parms
+	public void doAllPrimitives(int[] ints,int[][] ints2,int[][][] ints3,char[] chars,float[] floats,boolean[] cools,double[] doubles,long[] longs,short[] shorts,byte[] bytes) {
+		return;
+	}
+	public C doSomething() {
+		return null;
+	}
+	public byte[] getBytes() {
+		return new byte[0];
+	}
+	public char[] getChar() {
+		return new char[0];
+	}
+	public float[] getFloats() {
+		return new float[0];
+	}
+	// primitive field return values
+	public int[] getInts() {
+		return new int[0];
+	}
+	public long[] getLongs() {
+		return new long[0];
+	}
+	public short[] getShorts() {
+		return new short[0];
+	}
+	public A[] returnAs(C[] cees) {
+		return new A[0];
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/A_1.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/A_1.java
new file mode 100644
index 0000000..9e0a230
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/A_1.java
@@ -0,0 +1,12 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+public class A_1 {
+	public A bad_field_name;
+	public A_1 another_bad_field;
+	public A bad_method_name(A bad_parm_name, B bad_parm_name_2, C bad_parm_name3) {
+		return null;
+	}
+	public A_1 badder_method_name(A_1 parm_type_with_underscores) {
+		return null;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/B.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/B.java
new file mode 100644
index 0000000..face7be
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/B.java
@@ -0,0 +1,7 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+public class B extends A {
+	public void doNothing() {
+		return;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/C.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/C.java
new file mode 100644
index 0000000..2788a39
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/C.java
@@ -0,0 +1,20 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+/**
+ * Test class C - mostly harmless.  Some inner classes.
+ */
+public class C {
+	public class MyRunnable implements Runnable {
+		public void run() {
+			return;
+		}
+	}
+	public void makeRunnable() {
+		Runnable r = new Runnable() {
+			public void run() {
+				return;
+			}
+		};
+		r.run();
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/D.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/D.java
new file mode 100644
index 0000000..47e7615
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/D.java
@@ -0,0 +1,4 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+public class D extends B {
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/E.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/E.java
new file mode 100644
index 0000000..6be20bc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/E.java
@@ -0,0 +1,33 @@
+/*
+ * Created on May 7, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.java.stressSample;
+
+/**
+ * @author DABERG
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class E {
+
+	/**
+	 * 
+	 */
+	public E() {
+		super();
+	}
+	
+	public class Test$1 {
+		public void run() {
+			return;
+		}
+	}
+	public Test$1 getTest() {
+		return new Test$1();
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/IA.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/IA.java
new file mode 100644
index 0000000..2042f0c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/IA.java
@@ -0,0 +1,5 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+public interface IA {
+	public C doSomething();
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/IB.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/IB.java
new file mode 100644
index 0000000..41d4c71
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/IB.java
@@ -0,0 +1,17 @@
+/*
+ * Created on Jun 3, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.java.stressSample;
+
+/**
+ * @author DABERG
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public interface IB extends IA {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/ID.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/ID.java
new file mode 100644
index 0000000..5f96351
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/ID.java
@@ -0,0 +1,17 @@
+/*
+ * Created on Jun 3, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.java.stressSample;
+
+/**
+ * @author DABERG
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public interface ID extends IB {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1Bean.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1Bean.java
new file mode 100644
index 0000000..70a0efe
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1Bean.java
@@ -0,0 +1,79 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+/**
+ * Bean implementation class for Enterprise Bean: Test1
+ */
+public abstract class Test1Bean implements javax.ejb.EntityBean {
+	private javax.ejb.EntityContext myEntityCtx;
+	/**
+	 * setEntityContext
+	 */
+	public void setEntityContext(javax.ejb.EntityContext ctx) {
+		myEntityCtx = ctx;
+	}
+	/**
+	 * getEntityContext
+	 */
+	public javax.ejb.EntityContext getEntityContext() {
+		return myEntityCtx;
+	}
+	/**
+	 * unsetEntityContext
+	 */
+	public void unsetEntityContext() {
+		myEntityCtx = null;
+	}
+	/**
+	 * ejbCreate
+	 */
+	public org.eclipse.jst.j2ee.java.stressSample.Test1Key ejbCreate(int id)
+		throws javax.ejb.CreateException {
+		setId(id);
+		return null;
+	}
+	/**
+	 * ejbPostCreate
+	 */
+	public void ejbPostCreate(int id) throws javax.ejb.CreateException {
+	}
+	/**
+	 * ejbActivate
+	 */
+	public void ejbActivate() {
+	}
+	/**
+	 * ejbLoad
+	 */
+	public void ejbLoad() {
+	}
+	/**
+	 * ejbPassivate
+	 */
+	public void ejbPassivate() {
+	}
+	/**
+	 * ejbRemove
+	 */
+	public void ejbRemove() throws javax.ejb.RemoveException {
+	}
+	/**
+	 * ejbStore
+	 */
+	public void ejbStore() {
+	}
+	/**
+	 * Get accessor for persistent attribute: id
+	 */
+	public abstract int getId();
+	/**
+	 * Set accessor for persistent attribute: id
+	 */
+	public abstract void setId(int newId);
+	/**
+	 * Get accessor for persistent attribute: name
+	 */
+	public abstract java.lang.String getName();
+	/**
+	 * Set accessor for persistent attribute: name
+	 */
+	public abstract void setName(java.lang.String newName);
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1Key.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1Key.java
new file mode 100644
index 0000000..9d1b74f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1Key.java
@@ -0,0 +1,50 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+/**
+ * Key class for Entity Bean: Test1
+ */
+public class Test1Key implements java.io.Serializable {
+	static final long serialVersionUID = 3206093459760846163L;
+	/**
+	 * Implementation field for persistent attribute: id
+	 */
+	public int id;
+	/**
+	 * Creates an empty key for Entity Bean: Test1
+	 */
+	public Test1Key() {
+	}
+	/**
+	 * Creates a key for Entity Bean: Test1
+	 */
+	public Test1Key(int id) {
+		this.id = id;
+	}
+	/**
+	 * Returns true if both keys are equal.
+	 */
+	public boolean equals(java.lang.Object otherKey) {
+		if (otherKey instanceof org.eclipse.jst.j2ee.java.stressSample.Test1Key) {
+			org.eclipse.jst.j2ee.java.stressSample.Test1Key o = (org.eclipse.jst.j2ee.java.stressSample.Test1Key) otherKey;
+			return ((this.id == o.id));
+		}
+		return false;
+	}
+	/**
+	 * Returns the hash code for the key.
+	 */
+	public int hashCode() {
+		return ((new java.lang.Integer(id).hashCode()));
+	}
+	/**
+	 * Get accessor for persistent attribute: id
+	 */
+	public int getId() {
+		return id;
+	}
+	/**
+	 * Set accessor for persistent attribute: id
+	 */
+	public void setId(int newId) {
+		id = newId;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1Local.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1Local.java
new file mode 100644
index 0000000..615b7ea
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1Local.java
@@ -0,0 +1,14 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+/**
+ * Local interface for Enterprise Bean: Test1
+ */
+public interface Test1Local extends javax.ejb.EJBLocalObject {
+	/**
+	 * Get accessor for persistent attribute: name
+	 */
+	public java.lang.String getName();
+	/**
+	 * Set accessor for persistent attribute: name
+	 */
+	public void setName(java.lang.String newName);
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1LocalHome.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1LocalHome.java
new file mode 100644
index 0000000..239a04f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/StressSampleProject/src/org/eclipse/jst/j2ee/java/stressSample/Test1LocalHome.java
@@ -0,0 +1,15 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+/**
+ * Local Home interface for Enterprise Bean: Test1
+ */
+public interface Test1LocalHome extends javax.ejb.EJBLocalHome {
+	/**
+	 * Creates an instance from a key for Entity Bean: Test1
+	 */
+	public org.eclipse.jst.j2ee.java.stressSample.Test1Local create(int id) throws javax.ejb.CreateException;
+	/**
+	 * Finds an instance using a key for Entity Bean: Test1
+	 */
+	public org.eclipse.jst.j2ee.java.stressSample.Test1Local findByPrimaryKey(org.eclipse.jst.j2ee.java.stressSample.Test1Key primaryKey)
+		throws javax.ejb.FinderException;
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/.metadata/.plugins/com.ibm.etools.j2ee/looseApp.xmi b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/.metadata/.plugins/com.ibm.etools.j2ee/looseApp.xmi
new file mode 100644
index 0000000..be55b37
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/.metadata/.plugins/com.ibm.etools.j2ee/looseApp.xmi
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="ASCII"?>

+<com.ibm.etools.j2ee.commonarchivecore.looseconfig:LooseApplication xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:com.ibm.etools.j2ee.commonarchivecore.looseconfig="commonarchive.looseconfig.xmi" uri="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseEAR" binariesPath="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseEAR" resourcesPath="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseEAR">

+  <looseArchives xsi:type="com.ibm.etools.j2ee.commonarchivecore.looseconfig:LooseModule" uri="LooseEAREjb.jar" binariesPath="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseEAREjb\bin" resourcesPath="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseEAREjb\bin"/>

+  <looseArchives xsi:type="com.ibm.etools.j2ee.commonarchivecore.looseconfig:LooseWARFile" uri="LooseEARWeb.war" binariesPath="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseEARWeb\webApplication" resourcesPath="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseEARWeb\webApplication">

+    <looseLibs uri="WEB-INF/lib/library.jar" binariesPath="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseJavaWebLib\bin" resourcesPath="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseJavaWebLib\bin"/>

+  </looseArchives>

+  <looseArchives xsi:type="com.ibm.etools.j2ee.commonarchivecore.looseconfig:LooseLibrary" uri="util.jar" binariesPath="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseJavaUtil\bin" resourcesPath="D:\Development\workspaces\Corona_c3_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseJavaUtil\bin"/>

+</com.ibm.etools.j2ee.commonarchivecore.looseconfig:LooseApplication>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/.metadata/.plugins/com.ibm.etools.j2ee/looseConfig.xmi b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/.metadata/.plugins/com.ibm.etools.j2ee/looseConfig.xmi
new file mode 100644
index 0000000..c761a85
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/.metadata/.plugins/com.ibm.etools.j2ee/looseConfig.xmi
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="ASCII"?>

+<com.ibm.etools.j2ee.commonarchivecore.looseconfig:LooseConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:com.ibm.etools.j2ee.commonarchivecore.looseconfig="commonarchive.looseconfig.xmi">

+  <applications uri="\D:\Development\workspaces\Corona_v6_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseEAR" binariesPath="\D:\Development\workspaces\Corona_v6_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseEAR" resourcesPath="\D:\Development\workspaces\Corona_v6_fvt\com.ibm.etools.j2ee.core.tests\commonArchiveResources\loose_module_workspace\LooseEAR">

+    <looseArchives xsi:type="com.ibm.etools.j2ee.commonarchivecore.looseconfig:LooseModule" uri="LooseEAREjb.jar" binariesPath="/D:/Development/workspaces/Corona_v6_fvt/com.ibm.etools.j2ee.core.tests/commonArchiveResources\loose_module_workspace\LooseEAREjb\bin" resourcesPath="/D:/Development/workspaces/Corona_v6_fvt/com.ibm.etools.j2ee.core.tests/commonArchiveResources\loose_module_workspace\LooseEAREjb\bin"/>

+    <looseArchives xsi:type="com.ibm.etools.j2ee.commonarchivecore.looseconfig:LooseWARFile" uri="LooseEARWeb.war" binariesPath="/D:/Development/workspaces/Corona_v6_fvt/com.ibm.etools.j2ee.core.tests/commonArchiveResources\loose_module_workspace\LooseEARWeb\webApplication" resourcesPath="/D:/Development/workspaces/Corona_v6_fvt/com.ibm.etools.j2ee.core.tests/commonArchiveResources\loose_module_workspace\LooseEARWeb\webApplication">

+      <looseLibs uri="WEB-INF/lib/library.jar" binariesPath="/D:/Development/workspaces/Corona_v6_fvt/com.ibm.etools.j2ee.core.tests/commonArchiveResources\loose_module_workspace\LooseJavaWebLib\bin" resourcesPath="/D:/Development/workspaces/Corona_v6_fvt/com.ibm.etools.j2ee.core.tests/commonArchiveResources\loose_module_workspace\LooseJavaWebLib\bin"/>

+    </looseArchives>

+    <looseArchives xsi:type="com.ibm.etools.j2ee.commonarchivecore.looseconfig:LooseLibrary" uri="util.jar" binariesPath="/D:/Development/workspaces/Corona_v6_fvt/com.ibm.etools.j2ee.core.tests/commonArchiveResources\loose_module_workspace\LooseJavaUtil\bin" resourcesPath="/D:/Development/workspaces/Corona_v6_fvt/com.ibm.etools.j2ee.core.tests/commonArchiveResources\loose_module_workspace\LooseJavaUtil\bin"/>

+  </applications>

+</com.ibm.etools.j2ee.commonarchivecore.looseconfig:LooseConfiguration>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/META-INF/application.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/META-INF/application.xml
new file mode 100644
index 0000000..6a1cd6f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/META-INF/application.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application id="Application_ID"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
+    <module>
+        <connector>fooRAR</connector>
+    </module>
+</application>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/fooRAR/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/fooRAR/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/fooRAR/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/fooRAR/META-INF/ra.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/fooRAR/META-INF/ra.xml
new file mode 100644
index 0000000..b341c53
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseConnector/fooRAR/META-INF/ra.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE connector PUBLIC "-//Sun Microsystems, Inc.//DTD Connector 1.0//EN"
+                           "http://java.sun.com/dtd/connector_1_0.dtd">
+<connector>
+    <display-name>displayName_0</display-name>
+    <description>description_0</description>
+    <icon>
+        <small-icon>smallIcon_0</small-icon>
+        <large-icon>largeIcon_0</large-icon>
+    </icon>
+    <vendor-name>vendorName_0</vendor-name>
+    <spec-version>1.0</spec-version>
+    <eis-type>eisType_0</eis-type>
+    <version>1.0</version>
+    <license>
+        <description>description_0</description>
+        <license-required>true</license-required>
+    </license>
+    <resourceadapter>
+        <managedconnectionfactory-class>managedConnectionFactoryClass_0</managedconnectionfactory-class>
+        <connectionfactory-interface>connectionFactoryInterface_0</connectionfactory-interface>
+        <connectionfactory-impl-class>connectionFactoryImplClass_0</connectionfactory-impl-class>
+        <connection-interface>connectionInterface_0</connection-interface>
+        <connection-impl-class>connectionImplClass_0</connection-impl-class>
+        <transaction-support>NoTransaction</transaction-support>
+        <config-property>
+            <description>description_0</description>
+            <config-property-name>name_0</config-property-name>
+            <config-property-type>type_0</config-property-type>
+            <config-property-value>value_0</config-property-value>
+        </config-property>
+        <config-property>
+            <description>description_1</description>
+            <config-property-name>name_1</config-property-name>
+            <config-property-type>type_1</config-property-type>
+            <config-property-value>value_1</config-property-value>
+        </config-property>
+        <config-property>
+            <description>description_2</description>
+            <config-property-name>name_2</config-property-name>
+            <config-property-type>type_2</config-property-type>
+            <config-property-value>value_2</config-property-value>
+        </config-property>
+        <config-property>
+            <description>description_3</description>
+            <config-property-name>name_3</config-property-name>
+            <config-property-type>type_3</config-property-type>
+            <config-property-value>value_3</config-property-value>
+        </config-property>
+        <config-property>
+            <description>description_4</description>
+            <config-property-name>name_4</config-property-name>
+            <config-property-type>type_4</config-property-type>
+            <config-property-value>value_4</config-property-value>
+        </config-property>
+        <authentication-mechanism>
+            <description>description_0</description>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>credentialInterface_0</credential-interface>
+        </authentication-mechanism>
+        <authentication-mechanism>
+            <description>description_1</description>
+            <authentication-mechanism-type>Kerbv5</authentication-mechanism-type>
+            <credential-interface>credentialInterface_1</credential-interface>
+        </authentication-mechanism>
+        <authentication-mechanism>
+            <description>description_2</description>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>credentialInterface_2</credential-interface>
+        </authentication-mechanism>
+        <authentication-mechanism>
+            <description>description_3</description>
+            <authentication-mechanism-type>Kerbv5</authentication-mechanism-type>
+            <credential-interface>credentialInterface_3</credential-interface>
+        </authentication-mechanism>
+        <authentication-mechanism>
+            <description>description_4</description>
+            <authentication-mechanism-type>BasicPassword</authentication-mechanism-type>
+            <credential-interface>credentialInterface_4</credential-interface>
+        </authentication-mechanism>
+        <reauthentication-support>true</reauthentication-support>
+        <security-permission>
+            <description>description_0</description>
+            <security-permission-spec>specification_0</security-permission-spec>
+        </security-permission>
+        <security-permission>
+            <description>description_1</description>
+            <security-permission-spec>specification_1</security-permission-spec>
+        </security-permission>
+        <security-permission>
+            <description>description_2</description>
+            <security-permission-spec>specification_2</security-permission-spec>
+        </security-permission>
+        <security-permission>
+            <description>description_3</description>
+            <security-permission-spec>specification_3</security-permission-spec>
+        </security-permission>
+        <security-permission>
+            <description>description_4</description>
+            <security-permission-spec>specification_4</security-permission-spec>
+        </security-permission>
+    </resourceadapter>
+</connector>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAR/META-INF/.modulemaps b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAR/META-INF/.modulemaps
new file mode 100644
index 0000000..aa20a97
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAR/META-INF/.modulemaps
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<modulemap:EARProjectMap xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:modulemap="modulemap.xmi" xmlns:application="application.xmi" xmi:id="EARProjectMap_1">

+  <mappings xmi:id="ModuleMapping_1" projectName="LooseEAREjb">

+    <module xmi:type="application:EjbModule" href="META-INF/application.xml#EjbModule_1"/>

+  </mappings>

+  <mappings xmi:id="ModuleMapping_2" projectName="LooseEARWeb">

+    <module xmi:type="application:WebModule" href="META-INF/application.xml#WebModule_1"/>

+  </mappings>

+</modulemap:EARProjectMap>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAR/META-INF/application.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAR/META-INF/application.xml
new file mode 100644
index 0000000..56067f6
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAR/META-INF/application.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN" "http://java.sun.com/j2ee/dtds/application_1_2.dtd">
+<application id="Application_ID">
+	<display-name>LooseEAR</display-name>
+	<module id="EjbModule_1">
+		<ejb>LooseEAREjb.jar</ejb>
+	</module>
+	<module id="WebModule_1">
+		<web>
+			<web-uri>LooseEARWeb.war</web-uri>
+			<context-root>LooseEARWeb</context-root></web>
+	</module>
+</application>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAR/META-INF/ibm-application-ext.xmi b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAR/META-INF/ibm-application-ext.xmi
new file mode 100644
index 0000000..f3fbd0d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAR/META-INF/ibm-application-ext.xmi
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<applicationext:ApplicationExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:applicationext="applicationext.xmi" xmlns:application="application.xmi" xmi:id="Application_ID_Ext">

+  <moduleExtensions xmi:type="applicationext:EjbModuleExtension" xmi:id="EjbModule_1_Ext" absolutePath="D:\WSAD_DEV\eclipse\workspace\LooseEAREjb\bin">

+    <module xmi:type="application:EjbModule" href="META-INF/application.xml#EjbModule_1"/>

+  </moduleExtensions>

+  <moduleExtensions xmi:type="applicationext:WebModuleExtension" xmi:id="WebModule_1_Ext" absolutePath="D:\WSAD_DEV\eclipse\workspace\LooseEARWeb\webApplication">

+    <module xmi:type="application:WebModule" href="META-INF/application.xml#WebModule_1"/>

+  </moduleExtensions>

+  <application href="META-INF/application.xml#Application_ID"/>

+</applicationext:ApplicationExtension>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/META-INF/application.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/META-INF/application.xml
new file mode 100644
index 0000000..b44d91e
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/META-INF/application.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<application id="Application_ID"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
+    <module>
+        <java>fooAPP</java>
+    </module>
+</application>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/fooAPP/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/fooAPP/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/fooAPP/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/fooAPP/META-INF/application-client.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/fooAPP/META-INF/application-client.xml
new file mode 100644
index 0000000..c8bed76
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARApp/fooAPP/META-INF/application-client.xml
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE application-client PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN"
+                                    "http://java.sun.com/dtd/application-client_1_3.dtd">
+<application-client id="Application-client_ID">
+    <icon>
+        <small-icon>smallIcon_0</small-icon>
+        <large-icon>largeIcon_0</large-icon>
+    </icon>
+    <display-name>displayName_0</display-name>
+    <description>description_0</description>
+    <env-entry>
+        <description>description_0</description>
+        <env-entry-name>name_0</env-entry-name>
+        <env-entry-type>java.lang.String</env-entry-type>
+        <env-entry-value>value_0</env-entry-value>
+    </env-entry>
+    <env-entry>
+        <description>description_1</description>
+        <env-entry-name>name_1</env-entry-name>
+        <env-entry-type>java.lang.Integer</env-entry-type>
+        <env-entry-value>value_1</env-entry-value>
+    </env-entry>
+    <env-entry>
+        <description>description_2</description>
+        <env-entry-name>name_2</env-entry-name>
+        <env-entry-type>java.lang.Boolean</env-entry-type>
+        <env-entry-value>value_2</env-entry-value>
+    </env-entry>
+    <env-entry>
+        <description>description_3</description>
+        <env-entry-name>name_3</env-entry-name>
+        <env-entry-type>java.lang.Double</env-entry-type>
+        <env-entry-value>value_3</env-entry-value>
+    </env-entry>
+    <env-entry>
+        <description>description_4</description>
+        <env-entry-name>name_4</env-entry-name>
+        <env-entry-type>java.lang.Byte</env-entry-type>
+        <env-entry-value>value_4</env-entry-value>
+    </env-entry>
+    <env-entry>
+        <description>description_0</description>
+        <env-entry-name>name_0</env-entry-name>
+        <env-entry-type>java.lang.String</env-entry-type>
+        <env-entry-value>value_0</env-entry-value>
+    </env-entry>
+    <env-entry>
+        <description>description_1</description>
+        <env-entry-name>name_1</env-entry-name>
+        <env-entry-type>java.lang.Integer</env-entry-type>
+        <env-entry-value>value_1</env-entry-value>
+    </env-entry>
+    <env-entry>
+        <description>description_2</description>
+        <env-entry-name>name_2</env-entry-name>
+        <env-entry-type>java.lang.Boolean</env-entry-type>
+        <env-entry-value>value_2</env-entry-value>
+    </env-entry>
+    <env-entry>
+        <description>description_3</description>
+        <env-entry-name>name_3</env-entry-name>
+        <env-entry-type>java.lang.Double</env-entry-type>
+        <env-entry-value>value_3</env-entry-value>
+    </env-entry>
+    <env-entry>
+        <description>description_4</description>
+        <env-entry-name>name_4</env-entry-name>
+        <env-entry-type>java.lang.Byte</env-entry-type>
+        <env-entry-value>value_4</env-entry-value>
+    </env-entry>
+    <ejb-ref>
+        <description>description_0</description>
+        <ejb-ref-name>name_0</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <home>home_0</home>
+        <remote>remote_0</remote>
+        <ejb-link>link_0</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_1</description>
+        <ejb-ref-name>name_1</ejb-ref-name>
+        <ejb-ref-type>Entity</ejb-ref-type>
+        <home>home_1</home>
+        <remote>remote_1</remote>
+        <ejb-link>link_1</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_2</description>
+        <ejb-ref-name>name_2</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <home>home_2</home>
+        <remote>remote_2</remote>
+        <ejb-link>link_2</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_3</description>
+        <ejb-ref-name>name_3</ejb-ref-name>
+        <ejb-ref-type>Entity</ejb-ref-type>
+        <home>home_3</home>
+        <remote>remote_3</remote>
+        <ejb-link>link_3</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_4</description>
+        <ejb-ref-name>name_4</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <home>home_4</home>
+        <remote>remote_4</remote>
+        <ejb-link>link_4</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_0</description>
+        <ejb-ref-name>name_0</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <home>home_0</home>
+        <remote>remote_0</remote>
+        <ejb-link>link_0</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_1</description>
+        <ejb-ref-name>name_1</ejb-ref-name>
+        <ejb-ref-type>Entity</ejb-ref-type>
+        <home>home_1</home>
+        <remote>remote_1</remote>
+        <ejb-link>link_1</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_2</description>
+        <ejb-ref-name>name_2</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <home>home_2</home>
+        <remote>remote_2</remote>
+        <ejb-link>link_2</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_3</description>
+        <ejb-ref-name>name_3</ejb-ref-name>
+        <ejb-ref-type>Entity</ejb-ref-type>
+        <home>home_3</home>
+        <remote>remote_3</remote>
+        <ejb-link>link_3</ejb-link>
+    </ejb-ref>
+    <ejb-ref>
+        <description>description_4</description>
+        <ejb-ref-name>name_4</ejb-ref-name>
+        <ejb-ref-type>Session</ejb-ref-type>
+        <home>home_4</home>
+        <remote>remote_4</remote>
+        <ejb-link>link_4</ejb-link>
+    </ejb-ref>
+    <resource-ref>
+        <description>description_0</description>
+        <res-ref-name>name_0</res-ref-name>
+        <res-type>type_0</res-type>
+        <res-auth>Container</res-auth>
+        <res-sharing-scope>Shareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_1</description>
+        <res-ref-name>name_1</res-ref-name>
+        <res-type>type_1</res-type>
+        <res-auth>Container</res-auth>
+        <res-sharing-scope>Unshareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_2</description>
+        <res-ref-name>name_2</res-ref-name>
+        <res-type>type_2</res-type>
+        <res-auth>Application</res-auth>
+        <res-sharing-scope>Shareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_3</description>
+        <res-ref-name>name_3</res-ref-name>
+        <res-type>type_3</res-type>
+        <res-auth>Application</res-auth>
+        <res-sharing-scope>Unshareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_4</description>
+        <res-ref-name>name_4</res-ref-name>
+        <res-type>type_4</res-type>
+        <res-auth>Application</res-auth>
+        <res-sharing-scope>Shareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_0</description>
+        <res-ref-name>name_0</res-ref-name>
+        <res-type>type_0</res-type>
+        <res-auth>Container</res-auth>
+        <res-sharing-scope>Shareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_1</description>
+        <res-ref-name>name_1</res-ref-name>
+        <res-type>type_1</res-type>
+        <res-auth>Application</res-auth>
+        <res-sharing-scope>Unshareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_2</description>
+        <res-ref-name>name_2</res-ref-name>
+        <res-type>type_2</res-type>
+        <res-auth>SERVLET</res-auth>
+        <res-sharing-scope>Shareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_3</description>
+        <res-ref-name>name_3</res-ref-name>
+        <res-type>type_3</res-type>
+        <res-auth>Container</res-auth>
+        <res-sharing-scope>Unshareable</res-sharing-scope>
+    </resource-ref>
+    <resource-ref>
+        <description>description_4</description>
+        <res-ref-name>name_4</res-ref-name>
+        <res-type>type_4</res-type>
+        <res-auth>Application</res-auth>
+        <res-sharing-scope>Shareable</res-sharing-scope>
+    </resource-ref>
+    <resource-env-ref>
+        <description>description_0</description>
+        <resource-env-ref-name>name_0</resource-env-ref-name>
+        <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_1</description>
+        <resource-env-ref-name>name_1</resource-env-ref-name>
+        <resource-env-ref-type>java.util.List</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_2</description>
+        <resource-env-ref-name>name_2</resource-env-ref-name>
+        <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_3</description>
+        <resource-env-ref-name>name_3</resource-env-ref-name>
+        <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_4</description>
+        <resource-env-ref-name>name_4</resource-env-ref-name>
+        <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_0</description>
+        <resource-env-ref-name>name_0</resource-env-ref-name>
+        <resource-env-ref-type>java.util.HashTable</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_1</description>
+        <resource-env-ref-name>name_1</resource-env-ref-name>
+        <resource-env-ref-type>java.util.List</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_2</description>
+        <resource-env-ref-name>name_2</resource-env-ref-name>
+        <resource-env-ref-type>java.sql.Data</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_3</description>
+        <resource-env-ref-name>name_3</resource-env-ref-name>
+        <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
+    </resource-env-ref>
+    <resource-env-ref>
+        <description>description_4</description>
+        <resource-env-ref-name>name_4</resource-env-ref-name>
+        <resource-env-ref-type>java.lang.String</resource-env-ref-type>
+    </resource-env-ref>
+    <callback-handler>java.util.HashTable</callback-handler>
+</application-client>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.classpath b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.classpath
new file mode 100644
index 0000000..b25cae2
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="ejbModule"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/WebSphere Application Server v6.0 JRE"/>
+	<classpathentry kind="con" path="com.ibm.wtp.server.java.core.container/com.ibm.ws.ast.st.runtime.core.runtimeTarget.v60/WebSphere Application Server v6.0"/>
+	<classpathentry kind="output" path="ejbModule"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.compatibility b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.compatibility
new file mode 100644
index 0000000..55faf28
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.compatibility
@@ -0,0 +1,2 @@
+#Fri Oct 29 14:58:24 EDT 2004

+.j2ee=100

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.j2ee b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.j2ee
new file mode 100644
index 0000000..659969d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.j2ee
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<j2eesettings version="600">

+<moduleversion>20</moduleversion>

+</j2eesettings>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.project b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.project
new file mode 100644
index 0000000..54a2508
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.project
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>LooseEAREjb</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>com.ibm.wtp.migration.MigrationBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.ibm.etools.validation.validationbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.ibm.wtp.j2ee.LibCopyBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.ibm.sse.model.structuredbuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>com.ibm.etools.j2ee.LibCopyBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+		<nature>com.ibm.etools.j2ee.EJB2_0Nature</nature>
+		<nature>com.ibm.wtp.ejb.EJBNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+		<nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
+	</natures>
+</projectDescription>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.runtime b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.runtime
new file mode 100644
index 0000000..ddc5d41
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/.runtime
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<runtime runtime-id="WebSphere Application Server v6.0"/>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..7ebad27
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: util.jar ../boo.jar
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/ejb-jar.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/ejb-jar.xml
new file mode 100644
index 0000000..bdce1e4
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/ejb-jar.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd">
+<ejb-jar id="ejb-jar_ID">
+	<display-name>LooseEAREjb</display-name>
+	<enterprise-beans>
+		<entity id="MyCMP">
+			<ejb-name>MyCMP</ejb-name>
+			<home>com.ibm.test.ejb.MyCMPHome</home>
+			<remote>com.ibm.test.ejb.MyCMP</remote>
+			<ejb-class>com.ibm.test.ejb.MyCMPBean</ejb-class>
+			<persistence-type>Container</persistence-type>
+			<prim-key-class>com.ibm.test.ejb.MyCMPKey</prim-key-class>
+			<reentrant>False</reentrant>
+			<cmp-field>
+				<field-name>k1</field-name>
+			</cmp-field>
+		</entity>
+	</enterprise-beans>
+</ejb-jar>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/ibm-ejb-jar-bnd.xmi b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/ibm-ejb-jar-bnd.xmi
new file mode 100644
index 0000000..573af4e
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/ibm-ejb-jar-bnd.xmi
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ejbbnd:EJBJarBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejbbnd="ejbbnd.xmi" xmlns:ejb="ejb.xmi" xmi:id="ejb-jar_ID_Bnd">

+  <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/>

+  <ejbBindings xmi:id="MyCMP_Bnd" jndiName="ejb/com/ibm/test/ejb/MyCMPHome">

+    <enterpriseBean xmi:type="ejb:ContainerManagedEntity" href="META-INF/ejb-jar.xml#MyCMP"/>

+  </ejbBindings>

+</ejbbnd:EJBJarBinding>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/ibm-ejb-jar-ext.xmi b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/ibm-ejb-jar-ext.xmi
new file mode 100644
index 0000000..46e70a8
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/META-INF/ibm-ejb-jar-ext.xmi
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ejbext:EJBJarExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejbext="ejbext.xmi" xmlns:ejb="ejb.xmi" xmi:id="ejb-jar_ID">

+  <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/>

+</ejbext:EJBJarExtension>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMP.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMP.class
new file mode 100644
index 0000000..51f7277
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMP.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMPBean.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMPBean.class
new file mode 100644
index 0000000..78ced2f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMPBean.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMPHome.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMPHome.class
new file mode 100644
index 0000000..0492590
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMPHome.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMPKey.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMPKey.class
new file mode 100644
index 0000000..91b6702
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/bin/com/ibm/test/ejb/MyCMPKey.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/ejb-jar.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/ejb-jar.xml
new file mode 100644
index 0000000..46bae90
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/ejb-jar.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
+<ejb-jar id="ejb-jar_ID">
+	<display-name>LooseEAREjb</display-name>
+	<enterprise-beans>
+		<entity id="CMP1">
+			<ejb-name>CMP1</ejb-name>
+			<local-home>ejbs.CMP1LocalHome</local-home>
+			<local>ejbs.CMP1Local</local>
+			<ejb-class>ejbs.CMP1Bean</ejb-class>
+			<persistence-type>Container</persistence-type>
+			<prim-key-class>ejbs.CMP1Key</prim-key-class>
+			<reentrant>False</reentrant>
+			<cmp-version>2.x</cmp-version>
+			<abstract-schema-name>CMP1</abstract-schema-name>
+			<cmp-field>
+				<field-name>id</field-name>
+			</cmp-field>
+		</entity>
+		<entity id="CMP2">
+			<ejb-name>CMP2</ejb-name>
+			<local-home>ejbs.CMP2LocalHome</local-home>
+			<local>ejbs.CMP2Local</local>
+			<ejb-class>ejbs.CMP2Bean</ejb-class>
+			<persistence-type>Container</persistence-type>
+			<prim-key-class>ejbs.CMP2Key</prim-key-class>
+			<reentrant>False</reentrant>
+			<cmp-version>2.x</cmp-version>
+			<abstract-schema-name>CMP2</abstract-schema-name>
+			<cmp-field>
+				<field-name>id</field-name>
+			</cmp-field>
+		</entity>
+	</enterprise-beans>
+</ejb-jar>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/ibm-ejb-jar-bnd.xmi b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/ibm-ejb-jar-bnd.xmi
new file mode 100644
index 0000000..a08df99
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/ibm-ejb-jar-bnd.xmi
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ejbbnd:EJBJarBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejb="ejb.xmi" xmlns:ejbbnd="ejbbnd.xmi" xmi:id="EJBJarBinding_1099076698481">

+  <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/>

+  <ejbBindings xmi:id="EnterpriseBeanBinding_1099076698491" jndiName="ejb/ejbs/CMP1LocalHome">

+    <enterpriseBean xmi:type="ejb:ContainerManagedEntity" href="META-INF/ejb-jar.xml#CMP1"/>

+  </ejbBindings>

+  <ejbBindings xmi:id="EnterpriseBeanBinding_1099076729295" jndiName="ejb/ejbs/CMP2LocalHome">

+    <enterpriseBean xmi:type="ejb:ContainerManagedEntity" href="META-INF/ejb-jar.xml#CMP2"/>

+  </ejbBindings>

+  <defaultCMPConnectionFactory xmi:id="CMPConnectionFactoryBinding_1099076698491" jndiName="jdbc/Default" resAuth="Per_Connection_Factory"/>

+</ejbbnd:EJBJarBinding>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/ibm-ejb-jar-ext.xmi b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/ibm-ejb-jar-ext.xmi
new file mode 100644
index 0000000..46e70a8
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/META-INF/ibm-ejb-jar-ext.xmi
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ejbext:EJBJarExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejbext="ejbext.xmi" xmlns:ejb="ejb.xmi" xmi:id="ejb-jar_ID">

+  <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/>

+</ejbext:EJBJarExtension>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMP.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMP.java
new file mode 100644
index 0000000..12b8b7c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMP.java
@@ -0,0 +1,6 @@
+package com.ibm.test.ejb;
+/**
+ * Remote interface for Enterprise Bean: MyCMP
+ */
+public interface MyCMP extends javax.ejb.EJBObject {
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMPBean.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMPBean.java
new file mode 100644
index 0000000..bcdb044
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMPBean.java
@@ -0,0 +1,97 @@
+package com.ibm.test.ejb;
+/**
+ * Bean implementation class for Enterprise Bean: MyCMP
+ */
+public class MyCMPBean extends com.ibm.test.A implements javax.ejb.EntityBean {
+	private javax.ejb.EntityContext myEntityCtx;
+	/**
+	 * Implemetation field for persistent attribute: k1
+	 */
+	public java.lang.String k1;
+	/**
+	 * getEntityContext
+	 */
+	public javax.ejb.EntityContext getEntityContext() {
+		return myEntityCtx;
+	}
+	/**
+	 * setEntityContext
+	 */
+	public void setEntityContext(javax.ejb.EntityContext ctx) {
+		myEntityCtx = ctx;
+	}
+	/**
+	 * unsetEntityContext
+	 */
+	public void unsetEntityContext() {
+		myEntityCtx = null;
+	}
+	/**
+	 * ejbActivate
+	 */
+	public void ejbActivate() {
+		_initLinks();
+	}
+	/**
+	 * ejbCreate method for a CMP entity bean.
+	 */
+	public com.ibm.test.ejb.MyCMPKey ejbCreate(java.lang.String k1) throws javax.ejb.CreateException {
+		_initLinks();
+		this.k1 = k1;
+		return null;
+	}
+	/**
+	 * ejbLoad
+	 */
+	public void ejbLoad() {
+		_initLinks();
+	}
+	/**
+	 * ejbPassivate
+	 */
+	public void ejbPassivate() {
+	}
+	/**
+	 * ejbPostCreate
+	 */
+	public void ejbPostCreate(java.lang.String k1) throws javax.ejb.CreateException {
+	}
+	/**
+	 * ejbRemove
+	 */
+	public void ejbRemove() throws javax.ejb.RemoveException {
+		try {
+			_removeLinks();
+		} catch (java.rmi.RemoteException e) {
+			throw new javax.ejb.RemoveException(e.getMessage());
+		}
+	}
+	/**
+	 * ejbStore
+	 */
+	public void ejbStore() {
+	}
+	/**
+	 * This method was generated for supporting the associations.
+	 */
+	protected void _initLinks() {
+	}
+	/**
+	 * This method was generated for supporting the associations.
+	 */
+	protected java.util.Vector _getLinks() {
+		java.util.Vector links = new java.util.Vector();
+		return links;
+	}
+	/**
+	 * This method was generated for supporting the associations.
+	 */
+	protected void _removeLinks() throws java.rmi.RemoteException, javax.ejb.RemoveException {
+		java.util.List links = _getLinks();
+		for (int i = 0; i < links.size() ; i++) {
+			try {
+				((com.ibm.ivj.ejb.associations.interfaces.Link) links.get(i)).remove();
+			} catch (javax.ejb.FinderException e) {} //Consume Finder error since I am going away
+		}
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMPHome.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMPHome.java
new file mode 100644
index 0000000..7c09f21
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMPHome.java
@@ -0,0 +1,14 @@
+package com.ibm.test.ejb;
+/**
+ * Home interface for Enterprise Bean: MyCMP
+ */
+public interface MyCMPHome extends javax.ejb.EJBHome {
+	/**
+	 * Creates an instance from a key for Entity Bean: MyCMP
+	 */
+	public com.ibm.test.ejb.MyCMP create(java.lang.String k1) throws javax.ejb.CreateException, java.rmi.RemoteException;
+	/**
+	 * Finds an instance using a key for Entity Bean: MyCMP
+	 */
+	public com.ibm.test.ejb.MyCMP findByPrimaryKey(com.ibm.test.ejb.MyCMPKey primaryKey) throws javax.ejb.FinderException, java.rmi.RemoteException;
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMPKey.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMPKey.java
new file mode 100644
index 0000000..7aa6f79
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/com/ibm/test/ejb/MyCMPKey.java
@@ -0,0 +1,39 @@
+package com.ibm.test.ejb;
+/**
+ * Key class for Entity Bean: MyCMP
+ */
+public class MyCMPKey extends com.ibm.test.A implements java.io.Serializable {
+
+	static final long serialVersionUID = 3206093459760846163L;
+	/**
+	 * Implemetation field for persistent attribute: k1
+	 */
+	public java.lang.String k1;
+	/**
+	 * Creates an empty key for Entity Bean: MyCMP
+	 */
+	public MyCMPKey() {
+	}
+	/**
+	 * Returns true if both keys are equal.
+	 */
+	public boolean equals(java.lang.Object otherKey) {
+		if (otherKey instanceof com.ibm.test.ejb.MyCMPKey) {
+			com.ibm.test.ejb.MyCMPKey o = (com.ibm.test.ejb.MyCMPKey)otherKey;
+			return ((this.k1.equals(o.k1)));
+		}
+		return false;
+	}
+	/**
+	 * Returns the hash code for the key.
+	 */
+	public int hashCode() {
+		return (k1.hashCode());
+	}
+	/**
+	 * Creates a key for Entity Bean: MyCMP
+	 */
+	public MyCMPKey(java.lang.String k1) {
+		this.k1 = k1;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1Bean.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1Bean.java
new file mode 100644
index 0000000..7972747
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1Bean.java
@@ -0,0 +1,72 @@
+package ejbs;
+/**
+ * Bean implementation class for Enterprise Bean: CMP1
+ */
+public abstract class CMP1Bean implements javax.ejb.EntityBean {
+	private javax.ejb.EntityContext myEntityCtx;
+	/**
+	 * setEntityContext
+	 */
+	public void setEntityContext(javax.ejb.EntityContext ctx) {
+		myEntityCtx = ctx;
+	}
+	/**
+	 * getEntityContext
+	 */
+	public javax.ejb.EntityContext getEntityContext() {
+		return myEntityCtx;
+	}
+	/**
+	 * unsetEntityContext
+	 */
+	public void unsetEntityContext() {
+		myEntityCtx = null;
+	}
+	/**
+	 * ejbCreate
+	 */
+	public ejbs.CMP1Key ejbCreate(java.lang.Integer id)
+		throws javax.ejb.CreateException {
+		setId(id);
+		return null;
+	}
+	/**
+	 * ejbPostCreate
+	 */
+	public void ejbPostCreate(java.lang.Integer id)
+		throws javax.ejb.CreateException {
+	}
+	/**
+	 * ejbActivate
+	 */
+	public void ejbActivate() {
+	}
+	/**
+	 * ejbLoad
+	 */
+	public void ejbLoad() {
+	}
+	/**
+	 * ejbPassivate
+	 */
+	public void ejbPassivate() {
+	}
+	/**
+	 * ejbRemove
+	 */
+	public void ejbRemove() throws javax.ejb.RemoveException {
+	}
+	/**
+	 * ejbStore
+	 */
+	public void ejbStore() {
+	}
+	/**
+	 * Get accessor for persistent attribute: id
+	 */
+	public abstract java.lang.Integer getId();
+	/**
+	 * Set accessor for persistent attribute: id
+	 */
+	public abstract void setId(java.lang.Integer newId);
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1Key.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1Key.java
new file mode 100644
index 0000000..6924016
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1Key.java
@@ -0,0 +1,38 @@
+package ejbs;
+/**
+ * Key class for Entity Bean: CMP1
+ */
+public class CMP1Key implements java.io.Serializable {
+	static final long serialVersionUID = 3206093459760846163L;
+	/**
+	 * Implementation field for persistent attribute: id
+	 */
+	public java.lang.Integer id;
+	/**
+	 * Creates an empty key for Entity Bean: CMP1
+	 */
+	public CMP1Key() {
+	}
+	/**
+	 * Creates a key for Entity Bean: CMP1
+	 */
+	public CMP1Key(java.lang.Integer id) {
+		this.id = id;
+	}
+	/**
+	 * Returns true if both keys are equal.
+	 */
+	public boolean equals(java.lang.Object otherKey) {
+		if (otherKey instanceof ejbs.CMP1Key) {
+			ejbs.CMP1Key o = (ejbs.CMP1Key) otherKey;
+			return ((this.id.equals(o.id)));
+		}
+		return false;
+	}
+	/**
+	 * Returns the hash code for the key.
+	 */
+	public int hashCode() {
+		return (id.hashCode());
+	}
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1Local.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1Local.java
new file mode 100644
index 0000000..bdfdb59
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1Local.java
@@ -0,0 +1,6 @@
+package ejbs;
+/**
+ * Local interface for Enterprise Bean: CMP1
+ */
+public interface CMP1Local extends javax.ejb.EJBLocalObject {
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1LocalHome.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1LocalHome.java
new file mode 100644
index 0000000..d856a30
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP1LocalHome.java
@@ -0,0 +1,16 @@
+package ejbs;
+/**
+ * Local Home interface for Enterprise Bean: CMP1
+ */
+public interface CMP1LocalHome extends javax.ejb.EJBLocalHome {
+	/**
+	 * Creates an instance from a key for Entity Bean: CMP1
+	 */
+	public ejbs.CMP1Local create(java.lang.Integer id)
+		throws javax.ejb.CreateException;
+	/**
+	 * Finds an instance using a key for Entity Bean: CMP1
+	 */
+	public ejbs.CMP1Local findByPrimaryKey(ejbs.CMP1Key primaryKey)
+		throws javax.ejb.FinderException;
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2Bean.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2Bean.java
new file mode 100644
index 0000000..b69abe1
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2Bean.java
@@ -0,0 +1,72 @@
+package ejbs;
+/**
+ * Bean implementation class for Enterprise Bean: CMP2
+ */
+public abstract class CMP2Bean implements javax.ejb.EntityBean {
+	private javax.ejb.EntityContext myEntityCtx;
+	/**
+	 * setEntityContext
+	 */
+	public void setEntityContext(javax.ejb.EntityContext ctx) {
+		myEntityCtx = ctx;
+	}
+	/**
+	 * getEntityContext
+	 */
+	public javax.ejb.EntityContext getEntityContext() {
+		return myEntityCtx;
+	}
+	/**
+	 * unsetEntityContext
+	 */
+	public void unsetEntityContext() {
+		myEntityCtx = null;
+	}
+	/**
+	 * ejbCreate
+	 */
+	public ejbs.CMP2Key ejbCreate(java.lang.Integer id)
+		throws javax.ejb.CreateException {
+		setId(id);
+		return null;
+	}
+	/**
+	 * ejbPostCreate
+	 */
+	public void ejbPostCreate(java.lang.Integer id)
+		throws javax.ejb.CreateException {
+	}
+	/**
+	 * ejbActivate
+	 */
+	public void ejbActivate() {
+	}
+	/**
+	 * ejbLoad
+	 */
+	public void ejbLoad() {
+	}
+	/**
+	 * ejbPassivate
+	 */
+	public void ejbPassivate() {
+	}
+	/**
+	 * ejbRemove
+	 */
+	public void ejbRemove() throws javax.ejb.RemoveException {
+	}
+	/**
+	 * ejbStore
+	 */
+	public void ejbStore() {
+	}
+	/**
+	 * Get accessor for persistent attribute: id
+	 */
+	public abstract java.lang.Integer getId();
+	/**
+	 * Set accessor for persistent attribute: id
+	 */
+	public abstract void setId(java.lang.Integer newId);
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2Key.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2Key.java
new file mode 100644
index 0000000..38e9bc7
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2Key.java
@@ -0,0 +1,38 @@
+package ejbs;
+/**
+ * Key class for Entity Bean: CMP2
+ */
+public class CMP2Key implements java.io.Serializable {
+	static final long serialVersionUID = 3206093459760846163L;
+	/**
+	 * Implementation field for persistent attribute: id
+	 */
+	public java.lang.Integer id;
+	/**
+	 * Creates an empty key for Entity Bean: CMP2
+	 */
+	public CMP2Key() {
+	}
+	/**
+	 * Creates a key for Entity Bean: CMP2
+	 */
+	public CMP2Key(java.lang.Integer id) {
+		this.id = id;
+	}
+	/**
+	 * Returns true if both keys are equal.
+	 */
+	public boolean equals(java.lang.Object otherKey) {
+		if (otherKey instanceof ejbs.CMP2Key) {
+			ejbs.CMP2Key o = (ejbs.CMP2Key) otherKey;
+			return ((this.id.equals(o.id)));
+		}
+		return false;
+	}
+	/**
+	 * Returns the hash code for the key.
+	 */
+	public int hashCode() {
+		return (id.hashCode());
+	}
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2Local.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2Local.java
new file mode 100644
index 0000000..f6ac730
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2Local.java
@@ -0,0 +1,6 @@
+package ejbs;
+/**
+ * Local interface for Enterprise Bean: CMP2
+ */
+public interface CMP2Local extends javax.ejb.EJBLocalObject {
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2LocalHome.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2LocalHome.java
new file mode 100644
index 0000000..8a1bdf9
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEAREjb/ejbModule/ejbs/CMP2LocalHome.java
@@ -0,0 +1,16 @@
+package ejbs;
+/**
+ * Local Home interface for Enterprise Bean: CMP2
+ */
+public interface CMP2LocalHome extends javax.ejb.EJBLocalHome {
+	/**
+	 * Creates an instance from a key for Entity Bean: CMP2
+	 */
+	public ejbs.CMP2Local create(java.lang.Integer id)
+		throws javax.ejb.CreateException;
+	/**
+	 * Finds an instance using a key for Entity Bean: CMP2
+	 */
+	public ejbs.CMP2Local findByPrimaryKey(ejbs.CMP2Key primaryKey)
+		throws javax.ejb.FinderException;
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/.classpath b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/.classpath
new file mode 100644
index 0000000..71bb38b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/.classpath
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="var" path="SERVERJDK_PLUGINDIR/jre/lib/rt.jar"
+        rootpath="src" sourcepath="SERVERJDK_PLUGINDIR/src.jar"/>
+    <classpathentry kind="src" path="source"/>
+    <classpathentry kind="var" path="WAS_PLUGINDIR/lib/j2ee.jar"/>
+    <classpathentry kind="var" path="WAS_PLUGINDIR/lib/webcontainer.jar"/>
+    <classpathentry kind="var" path="WAS_PLUGINDIR/lib/ivjejb35.jar"/>
+    <classpathentry kind="var" path="WAS_PLUGINDIR/lib/websphere.jar"/>
+    <classpathentry kind="output" path="webApplication\WEB-INF\classes"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/.websettings b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/.websettings
new file mode 100644
index 0000000..0e5b9a8
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/.websettings
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<websettings>
+	<context-root>LooseEARWeb</context-root>
+</websettings>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/source/com/ibm/test/web/C.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/source/com/ibm/test/web/C.java
new file mode 100644
index 0000000..b71b394
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/source/com/ibm/test/web/C.java
@@ -0,0 +1,14 @@
+package com.ibm.test.web;
+public class C {
+
+	/**
+	 * Constructor for C
+	 */
+	public C() {
+		super();
+	}
+
+	public static void main(String[] args) {
+	}
+}
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..735160a
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/META-INF/MANIFEST.MF
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path: LooseEAREjb.jar
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/classes/com/ibm/test/web/C.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/classes/com/ibm/test/web/C.class
new file mode 100644
index 0000000..4051131
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/classes/com/ibm/test/web/C.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/ibm-web-bnd.xmi b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/ibm-web-bnd.xmi
new file mode 100644
index 0000000..d74844b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/ibm-web-bnd.xmi
@@ -0,0 +1,3 @@
+<webappbnd:WebAppBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappbnd="webappbnd.xmi" xmlns:webapplication="webapplication.xmi" xmi:id="WebAppBinding_1" virtualHostName="default_host">
+	<webapp href="WEB-INF/web.xml#WebApp"/>
+</webappbnd:WebAppBinding>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/ibm-web-ext.xmi b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/ibm-web-ext.xmi
new file mode 100644
index 0000000..82ec262
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/ibm-web-ext.xmi
@@ -0,0 +1,10 @@
+<webappext:WebAppExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:webappext="webappext.xmi" xmlns:webapplication="webapplication.xmi" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmi:id="WebAppExtension_1"
+  reloadInterval="3"
+  reloadingEnabled="true"
+  defaultErrorPage="error.jsp"
+  additionalClassPath=""
+  fileServingEnabled="true"
+  directoryBrowsingEnabled="false"
+  serveServletsByClassnameEnabled="true">
+	<webApp href="WEB-INF/web.xml#WebApp"/>
+</webappext:WebAppExtension>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/web.xml b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/web.xml
new file mode 100644
index 0000000..1412efd
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseEARWeb/webApplication/WEB-INF/web.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
+<web-app id="WebApp">
+	<display-name>LooseEARWeb</display-name>
+	<welcome-file-list>
+		<welcome-file>index.html</welcome-file>
+		<welcome-file>index.htm</welcome-file>
+		<welcome-file>index.jsp</welcome-file>
+		<welcome-file>default.html</welcome-file>
+		<welcome-file>default.htm</welcome-file>
+		<welcome-file>default.jsp</welcome-file>
+	</welcome-file-list>
+</web-app>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaUtil/.classpath b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaUtil/.classpath
new file mode 100644
index 0000000..d8b3fa0
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaUtil/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaUtil/bin/com/ibm/test/A.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaUtil/bin/com/ibm/test/A.class
new file mode 100644
index 0000000..bfcfff0
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaUtil/bin/com/ibm/test/A.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaUtil/src/com/ibm/test/A.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaUtil/src/com/ibm/test/A.java
new file mode 100644
index 0000000..07f09c1
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaUtil/src/com/ibm/test/A.java
@@ -0,0 +1,14 @@
+package com.ibm.test;
+public class A {
+
+	/**
+	 * Constructor for A
+	 */
+	public A() {
+		super();
+	}
+
+	public static void main(String[] args) {
+	}
+}
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaWebLib/.classpath b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaWebLib/.classpath
new file mode 100644
index 0000000..d8b3fa0
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaWebLib/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+    <classpathentry kind="src" path="src"/>
+    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
+    <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaWebLib/bin/com/ibm/web/test/B.class b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaWebLib/bin/com/ibm/web/test/B.class
new file mode 100644
index 0000000..e3ee564
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaWebLib/bin/com/ibm/web/test/B.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaWebLib/src/com/ibm/web/test/B.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaWebLib/src/com/ibm/web/test/B.java
new file mode 100644
index 0000000..ab18533
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/LooseJavaWebLib/src/com/ibm/web/test/B.java
@@ -0,0 +1,14 @@
+package com.ibm.web.test;
+public class B {
+
+	/**
+	 * Constructor for B
+	 */
+	public B() {
+		super();
+	}
+
+	public static void main(String[] args) {
+	}
+}
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/boo.jar/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/boo.jar/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1743e3d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/boo.jar/META-INF/MANIFEST.MF
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Class-Path: util.jar LooseEAREjb/bin foobar.jar 
+
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/foobar.jar b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/foobar.jar
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/foobar.jar
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/readme.txt b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/readme.txt
new file mode 100644
index 0000000..7b195b4
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveResources/loose_module_workspace/readme.txt
@@ -0,0 +1 @@
+This is not a full WSAD workspace; it is just the files necessary to emulate one, for unit testing the runtime
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllDOMTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllDOMTests.java
new file mode 100644
index 0000000..3049b94
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllDOMTests.java
@@ -0,0 +1,64 @@
+/*
+ * Created on Sep 5, 2003
+ *
+ */
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.wst.common.internal.emf.resource.EMF2DOMRendererFactory;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
+
+/**
+ * @author Administrator
+ */
+public class AllDOMTests extends TestCase{
+	
+	private RendererFactory defaultRendererFactory;
+
+    public AllDOMTests(String name) {
+		super(name);
+	}
+	
+	public AllDOMTests(String name, RendererFactory rf) {
+		super(name);
+		this.defaultRendererFactory = rf;
+	}
+	
+	public static Test suite() {
+		TestSuite suite = new TestSuite("Test for com.ibm.etools.archive.emftest");
+		//$JUnit-BEGIN$
+		suite.addTest(new AllDOMTests("testSwitchRenderer", RendererFactory.getDefaultRendererFactory()));
+		suite.addTest(AppClientEMFEditTest.suite());
+		suite.addTest(AppClientEMFTest.suite());
+		suite.addTest(EarEMFEditTest.suite());
+		suite.addTest(EarEMFTest.suite()); //
+		suite.addTest(EjbEMFEditTest.suite());
+		suite.addTest(EjbEMFTest.suite());
+		suite.addTest(RarEMFEditTest.suite());
+		suite.addTest(RarEMFTest.suite());
+		suite.addTest(WarEMFEditTest.suite());
+		suite.addTest(WarEMFTest.suite());
+		suite.addTest(WebServicesEMFTest.suite());
+		suite.addTest(new AllDOMTests("testSwitchRendererBack", RendererFactory.getDefaultRendererFactory()));
+ 
+		//$JUnit-END$
+		return suite;
+	}
+	
+	public static void main(java.lang.String[] args) {
+		 junit.textui.TestRunner.main(new String[] { AllDOMTests.class.getName() });
+	}	
+	
+	public void testSwitchRenderer() {
+		RendererFactory.setDefaultRendererFactory(EMF2DOMRendererFactory.INSTANCE);
+	
+	}
+
+	public void testSwitchRendererBack() {
+		RendererFactory.setDefaultRendererFactory(defaultRendererFactory);
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllSAXTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllSAXTests.java
new file mode 100644
index 0000000..74c326f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllSAXTests.java
@@ -0,0 +1,64 @@
+/*
+ * Created on Sep 5, 2003
+ *
+ */
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.wst.common.internal.emf.resource.EMF2SAXRendererFactory;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
+
+/**
+ * @author Administrator
+ */
+public class AllSAXTests extends TestCase{
+
+	private RendererFactory defaultRendererFactory;
+	
+	AllTests tests = new AllTests(); // force the class to load if this test is loaded 
+  
+	public AllSAXTests(String name) {
+		super(name);
+	} 
+
+	public AllSAXTests(String name, RendererFactory rf) {
+		super(name);
+		this.defaultRendererFactory = rf;
+	}
+	
+	public static Test suite() {
+		TestSuite suite = new TestSuite("Test for com.ibm.etools.archive.emftest");
+		//$JUnit-BEGIN$
+		suite.addTest(new AllSAXTests("testSwitchRenderer", RendererFactory.getDefaultRendererFactory()));
+		suite.addTest(AppClientEMFEditTest.suite());
+		suite.addTest(AppClientEMFTest.suite());
+		suite.addTest(EarEMFEditTest.suite());
+		suite.addTest(EarEMFTest.suite()); //
+		suite.addTest(EjbEMFEditTest.suite());
+		suite.addTest(EjbEMFTest.suite());
+		suite.addTest(RarEMFEditTest.suite());
+		suite.addTest(RarEMFTest.suite());
+		suite.addTest(WarEMFEditTest.suite());
+		suite.addTest(WarEMFTest.suite());
+		suite.addTest(WebServicesEMFTest.suite());
+		suite.addTest(new AllSAXTests("testSwitchRendererBack", RendererFactory.getDefaultRendererFactory()));
+
+		//$JUnit-END$
+		return suite;
+	}
+	
+	public static void main(java.lang.String[] args) {
+		 junit.textui.TestRunner.main(new String[] { AllSAXTests.class.getName() });
+	}	
+	
+	public void testSwitchRenderer() {
+		RendererFactory.setDefaultRendererFactory(EMF2SAXRendererFactory.INSTANCE); 
+	}
+	
+	public void testSwitchRendererBack() {
+		RendererFactory.setDefaultRendererFactory(defaultRendererFactory);
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllTests.java
new file mode 100644
index 0000000..b7fd21d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AllTests.java
@@ -0,0 +1,35 @@
+/*
+ * Created on Apr 1, 2003
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author jsholl
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class AllTests {
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite("Test for com.ibm.etools.archive.emftest");
+        //$JUnit-BEGIN$
+
+		suite.addTest(AllDOMTests.suite());
+		suite.addTest(AllSAXTests.suite());
+
+		//$JUnit-END$
+		return suite;
+	}
+	
+	public static void main(java.lang.String[] args) {
+		junit.textui.TestRunner.main(new String[] { AllTests.class.getName() });
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFEditTest.java
new file mode 100644
index 0000000..8ed8ac0
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFEditTest.java
@@ -0,0 +1,90 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.client.ApplicationClientResource;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+
+public class AppClientEMFEditTest extends GeneralEMFEditingTest {
+    EARFile earFile;
+    ApplicationClientFile appClientFile;
+
+    public AppClientEMFEditTest(String name) {
+        super(name);
+    }
+
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+
+    public EjbFactory getEjbFactory() {
+        return EjbPackage.eINSTANCE.getEjbFactory();
+    }
+
+    public ApplicationFactory getApplicationFactory() {
+        return ApplicationPackage.eINSTANCE.getApplicationFactory();
+    }
+
+    public WebapplicationFactory getWebAppFactory() {
+        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    }
+
+    public static void main(java.lang.String[] args) {
+        String[] className = { "com.ibm.etools.archive.test.AppClientEMFEditTest", "-noloading" };
+        TestRunner.main(className);
+    }
+    public static junit.framework.Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(new AppClientEMFEditTest("testApplicationClientEdit"));
+        return suite;
+    }
+
+    public void testApplicationClientEdit() throws Exception {
+        getAppClient();
+        assertEquals("1.3", appClientFile.getDeploymentDescriptor().getVersion());
+
+        ApplicationClientResource DD = (ApplicationClientResource) appClientFile.getDeploymentDescriptorResource();
+		setVersion(VERSION_1_3);
+		setModuleType(APP_CLIENT);
+        editRoot(DD.getRootObject());
+
+        String out = "EditTests/EMFModelCreationTests/EditAppEAR";
+        appClientFile.extractTo(out, Archive.EXPAND_ALL);
+        appClientFile.close();
+
+        //Compare
+        String curDir = AutomatedBVT.baseDirectory;
+        String exampleDeploymentDesURI = curDir + "EMFTests/application-client.xml";
+        String curDeploymentDesURI = curDir + out + "/AppClientfoo/META-INF/application-client.xml";
+		setIgnoreAtt(ignorableAttributes());
+        //compareContents(curDeploymentDesURI, exampleDeploymentDesURI);
+    }
+
+    public void getAppClient() throws DuplicateObjectException, OpenFailureException {
+        String in = AutomatedBVT.baseDirectory + "loose_module_workspace/LooseEARApp/fooAPP/";
+        appClientFile = getArchiveFactory().openApplicationClientFile(in);
+    }
+    
+	public HashSet ignorableAttributes(){
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFTest.java
new file mode 100644
index 0000000..a03aadc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/AppClientEMFTest.java
@@ -0,0 +1,141 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
+import org.eclipse.jst.j2ee.client.ApplicationClientResource;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+
+public class AppClientEMFTest extends GeneralEMFPopulationTest {
+    EARFile earFile;
+    ApplicationClientFile appClientFile;
+	EARFile earFile14;
+	ApplicationClientFile appClientFile14;
+
+    public AppClientEMFTest(String name) {
+        super(name);
+    }
+
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchiveFactoryImpl.getActiveFactory();
+    }
+
+    public EjbFactory getEjbFactory() {
+        return EjbPackage.eINSTANCE.getEjbFactory();
+    }
+
+    public ApplicationFactory getApplicationFactory() {
+        return ApplicationPackage.eINSTANCE.getApplicationFactory();
+    }
+
+    public WebapplicationFactory getWebAppFactory() {
+        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    }
+
+    public static void main(java.lang.String[] args) {
+        String[] className = { "com.ibm.etools.archive.test.AppClientEMFTest", "-noloading" };
+        TestRunner.main(className);
+    }
+    public static junit.framework.Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(new AppClientEMFTest("testApplicationClientPopulation"));
+        suite.addTest(new AppClientEMFTest("test14ApplicationClientPopulation"));
+        return suite;
+    }
+
+    public void testApplicationClientPopulation() throws Exception {
+		EMFAttributeFeatureGenerator.reset();
+        createEAR();
+        createAppClient();
+
+        ApplicationClientResource DD = (ApplicationClientResource) appClientFile.getDeploymentDescriptorResource();
+        DD.setVersionID(J2EEVersionConstants.J2EE_1_3_ID);
+        setVersion(VERSION_1_3);
+        setModuleType(APP_CLIENT);
+        populateRoot(DD.getRootObject());
+
+		String out = AutomatedBVT.baseDirectory +"testOutput/TestAppEAR";
+        earFile.extractTo(out, Archive.EXPAND_ALL);
+        earFile.close();
+
+        //Compare
+        String curDir = AutomatedBVT.baseDirectory;
+        String exampleDeploymentDesURI = curDir + "EMFTestNoID/application-client.xml";
+        String curDeploymentDesURI = curDir + "testOutput/TestAppEAR/fooApp/META-INF/application-client.xml";
+		setIgnoreAtt(ignorableAttributes());
+		compareContentsIgnoreWhitespace(curDeploymentDesURI, exampleDeploymentDesURI, null);
+    }
+
+	public void test14ApplicationClientPopulation() throws Exception {
+			EMFAttributeFeatureGenerator.reset();
+			createEAR();
+			createAppClient();
+
+			ApplicationClientResource DD = (ApplicationClientResource) appClientFile.getDeploymentDescriptorResource();
+			DD.setVersionID(J2EEVersionConstants.J2EE_1_4_ID);
+			setVersion(VERSION_1_4);
+			setModuleType(APP_CLIENT);
+			populateRoot(DD.getRootObject());
+
+			String out = AutomatedBVT.baseDirectory +"testOutput/TestAppEAR14";
+			earFile.extractTo(out, Archive.EXPAND_ALL);
+			earFile.close();
+
+			getApp14Client();
+			assertEquals("1.4", appClientFile14.getDeploymentDescriptor().getVersion());
+			out = AutomatedBVT.baseDirectory +"testOutput/TestAppEAR14_2";
+			appClientFile14.extractTo(out, Archive.EXPAND_ALL);
+			appClientFile14.close();
+			
+			//Compare
+			String curDir = AutomatedBVT.baseDirectory;
+			String curDeploymentDesURI = curDir + "testOutput/TestAppEAR14/fooAPP/META-INF/application-client.xml";
+			String secondDeploymentDesURI = out + "/META-INF/application-client.xml";
+			setIgnoreAtt(ignorableAttributes());
+			compareContentsIgnoreWhitespace(curDeploymentDesURI, secondDeploymentDesURI, null);
+	}
+	
+    public void createAppClient() throws DuplicateObjectException {
+        appClientFile = getArchiveFactory().createApplicationClientFileInitialized("fooAPP");
+        appClientFile = (ApplicationClientFile) earFile.addCopy(appClientFile);
+        appClientFile.getDeploymentDescriptor().setDisplayName("fooAPP");
+        assertTrue(appClientFile.getDeploymentDescriptor() != null);
+    }
+
+    public void createEAR() {
+        String earName = "Test.ear";
+        earFile = getArchiveFactory().createEARFileInitialized(earName);
+        assertTrue(earFile.getDeploymentDescriptor() != null);
+    }
+    
+    
+	public void getApp14Client() throws DuplicateObjectException, OpenFailureException {
+		String in = AutomatedBVT.baseDirectory + "testOutput/TestAppEAR14/fooApp";
+		appClientFile14 = getArchiveFactory().openApplicationClientFile(in);
+	}
+    
+    public HashSet ignorableAttributes(){
+    	HashSet set = new HashSet();
+    	set.add("id");
+    	return set;
+    }
+    
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFEditTest.java
new file mode 100644
index 0000000..70d7b19
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFEditTest.java
@@ -0,0 +1,141 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.application.ApplicationResource;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+
+public class EarEMFEditTest extends GeneralEMFEditingTest {
+    EARFile earFile;
+    int createdModules = 0;
+
+    private int NUM_MODULES = 4;
+
+    public EarEMFEditTest(String name) {
+        super(name);
+    }
+
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+
+    public EjbFactory getEjbFactory() {
+        return EjbPackage.eINSTANCE.getEjbFactory();
+    }
+
+    public ApplicationFactory getApplicationFactory() {
+        return ApplicationPackage.eINSTANCE.getApplicationFactory();
+    }
+
+    public WebapplicationFactory getWebAppFactory() {
+        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    }
+
+    public static void main(java.lang.String[] args) {
+        String[] className = { "com.ibm.etools.archive.test.EarEMFEditTest", "-noloading" };
+        TestRunner.main(className);
+    }
+    public static junit.framework.Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(new EarEMFEditTest("testEAREdit"));
+        return suite;
+    }
+
+    public void testEAREdit() throws Exception {
+        getEAR();
+
+		assertEquals("1.2", earFile.getDeploymentDescriptor().getVersion());
+
+        ApplicationResource DD = (ApplicationResource) earFile.getDeploymentDescriptorResource();
+		setVersion(VERSION_1_3);
+		setModuleType(APPICATION); 
+        editRoot(DD.getRootObject());
+
+        String out = "EditOutput/EMFModelCreationTests/EditEAR";
+        earFile.extractTo(out, Archive.EXPAND_ALL);
+        earFile.close();
+
+        //Compare work in progress
+        String curDir = AutomatedBVT.baseDirectory;
+        String exampleDeploymentDesURI = curDir + "EMFTests/application.xml";
+        String curDeploymentDesURI = curDir + out + "/META-INF/application.xml";
+        //compareContents(curDeploymentDesURI, exampleDeploymentDesURI);
+    }
+
+    public void getEAR() throws OpenFailureException {
+        String in = AutomatedBVT.baseDirectory + "loose_module_workspace/LooseEAR/";
+        earFile = getArchiveFactory().openEARFile(in);
+        assertTrue(earFile.getDeploymentDescriptor() != null);
+    }
+    
+	public HashSet ignorableAttributes(){
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+
+	public EObject createInstance(EClass eClassifier) {
+		if (eClassifier.getName().equals("Module")) {
+			createdModules++;
+			switch (createdModules) {
+				case (1) :
+					return createJavaModuleInstance(eClassifier);
+				case (2) :
+					return createEJBModuleInstance(eClassifier);
+				case (3) :
+					return createWebModuleInstance(eClassifier);
+				case (4) :
+					return createConnetorModuleInstance(eClassifier);
+				default :
+					return createJavaModuleInstance(eClassifier);
+			}
+		}
+		return super.createInstance(eClassifier);
+	}
+
+	private EObject createConnetorModuleInstance(EClass eClassifier) {
+		return ((ApplicationFactory) eClassifier.getEPackage().getEFactoryInstance()).createConnectorModule();
+	}
+
+	private EObject createWebModuleInstance(EClass eClassifier) {
+		return ((ApplicationFactory) eClassifier.getEPackage().getEFactoryInstance()).createWebModule();
+	}
+
+	private EObject createEJBModuleInstance(EClass eClassifier) {
+		return ((ApplicationFactory) eClassifier.getEPackage().getEFactoryInstance()).createEjbModule();
+	}
+
+	private EObject createJavaModuleInstance(EClass eClassifier) {
+		return ((ApplicationFactory) eClassifier.getEPackage().getEFactoryInstance()).createJavaClientModule();
+	}
+
+	public Object getSharedObjectByType(EObject owner, EReference ref) {
+		if (ref.getName().equals("module"))
+			return createJavaModuleInstance((EClass) ref.getEType());
+		return super.getSharedObjectByType(owner, ref);
+	}
+
+	public int getDepthForAttribute(EReference ref) {
+		if (ref.getName().equals("modules"))
+			return NUM_MODULES;
+		return super.getDepthForAttribute(ref);
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFTest.java
new file mode 100644
index 0000000..0ceeb46
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EarEMFTest.java
@@ -0,0 +1,186 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.application.ApplicationResource;
+import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+
+public class EarEMFTest extends GeneralEMFPopulationTest {
+    EARFile earFile;
+    int createdModules = 0;
+
+    private int NUM_MODULES = 5;
+
+    public EarEMFTest(String name) {
+        super(name);
+    }
+
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+
+    public EjbFactory getEjbFactory() {
+        return EjbPackage.eINSTANCE.getEjbFactory();
+    }
+
+    public ApplicationFactory getApplicationFactory() {
+        return ApplicationPackage.eINSTANCE.getApplicationFactory();
+    }
+
+    public WebapplicationFactory getWebAppFactory() {
+        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    }
+
+    public static void main(java.lang.String[] args) {
+        String[] className = { "com.ibm.etools.archive.test.EarEMFTest", "-noloading" };
+        TestRunner.main(className);
+    }
+    public static junit.framework.Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(new EarEMFTest("testEARPopulation"));
+		suite.addTest(new EarEMFTest("test14EARPopulation"));
+        return suite;
+    }
+
+    public void testEARPopulation() throws Exception {
+		EMFAttributeFeatureGenerator.reset();
+        createEAR();
+        //createAppClient();
+
+        ApplicationResource DD = (ApplicationResource) earFile.getDeploymentDescriptorResource();
+		//TODO: individual test for each version
+		DD.setVersionID(J2EEVersionConstants.J2EE_1_3_ID);
+		setVersion(VERSION_1_3);
+		setModuleType(APPICATION);
+        populateRoot(DD.getRootObject());
+
+		String out = AutomatedBVT.baseDirectory +"testOutput/TestEAR";
+        earFile.extractTo(out, Archive.EXPAND_ALL);
+        earFile.close();
+
+        //Compare work in progress
+        String curDir = AutomatedBVT.baseDirectory;
+        String exampleDeploymentDesURI = curDir + "EMFTestNoID/application.xml";
+        String curDeploymentDesURI = curDir + "testOutput/TestEAR/META-INF/application.xml";
+		setIgnoreAtt(ignorableAttributes());
+		compareContentsIgnoreWhitespace(curDeploymentDesURI, exampleDeploymentDesURI, null);
+    }
+    
+	public void test14EARPopulation() throws Exception {
+		EMFAttributeFeatureGenerator.reset();
+		createEAR();
+		//createAppClient();
+
+		ApplicationResource DD = (ApplicationResource) earFile.getDeploymentDescriptorResource();
+		//TODO: individual test for each version
+		DD.setVersionID(J2EEVersionConstants.J2EE_1_4_ID);
+		setVersion(VERSION_1_4);
+		setModuleType(APPICATION);
+		populateRoot(DD.getRootObject());
+
+		String out = AutomatedBVT.baseDirectory +"testOutput/TestEAR14";
+		earFile.extractTo(out, Archive.EXPAND_ALL);
+		earFile.close();
+
+		getEAR();
+		assertEquals("1.4", earFile.getDeploymentDescriptor().getVersion());
+		out = AutomatedBVT.baseDirectory +"testOutput/TestEAR14_2";
+		earFile.extractTo(out, Archive.EXPAND_ALL);
+		
+		earFile.close();
+
+		//Compare work in progress
+		String curDir = AutomatedBVT.baseDirectory;
+		String exampleDeploymentDesURI = out + "/META-INF/application.xml";
+		String curDeploymentDesURI = curDir + "testOutput/TestEAR14/META-INF/application.xml";
+		setIgnoreAtt(ignorableAttributes());
+		compareContentsIgnoreWhitespace(curDeploymentDesURI, exampleDeploymentDesURI, null);
+	}
+    public void createEAR() {
+        String earName = "Test.ear";
+        earFile = getArchiveFactory().createEARFileInitialized(earName);
+        assertTrue(earFile.getDeploymentDescriptor() != null);
+    }
+
+	public void getEAR() throws OpenFailureException {
+		String in =AutomatedBVT.baseDirectory +"testOutput/TestEAR14";
+		earFile = getArchiveFactory().openEARFile(in);
+		assertTrue(earFile.getDeploymentDescriptor() != null);
+	}
+	
+	public HashSet ignorableAttributes(){
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+
+    public EObject createInstance(EReference ref, EObject eObject) {
+		EClass eClassifier = (EClass)ref.getEType();
+        if (eClassifier.getName().equals("Module")) {
+            createdModules++;
+            switch (createdModules) {
+                case (1) :
+                    return createJavaModuleInstance(eClassifier);
+                case (2) :
+                    return createEJBModuleInstance(eClassifier);
+                case (3) :
+                    return createWebModuleInstance(eClassifier);
+                case (4) :
+                    return createConnetorModuleInstance(eClassifier);
+                default :
+                    return createJavaModuleInstance(eClassifier);
+            }
+        }
+        return super.createInstance(ref,eObject);
+    }
+
+    private EObject createConnetorModuleInstance(EClass eClassifier) {
+        return ((ApplicationFactory) eClassifier.getEPackage().getEFactoryInstance()).createConnectorModule();
+    }
+
+    private EObject createWebModuleInstance(EClass eClassifier) {
+        return ((ApplicationFactory) eClassifier.getEPackage().getEFactoryInstance()).createWebModule();
+    }
+
+    private EObject createEJBModuleInstance(EClass eClassifier) {
+        return ((ApplicationFactory) eClassifier.getEPackage().getEFactoryInstance()).createEjbModule();
+    }
+
+    private EObject createJavaModuleInstance(EClass eClassifier) {
+        return ((ApplicationFactory) eClassifier.getEPackage().getEFactoryInstance()).createJavaClientModule();
+    }
+
+    public Object getSharedObjectByType(EObject owner, EReference ref) {
+        if (ref.getName().equals("module"))
+            return createJavaModuleInstance((EClass) ref.getEType());
+        return super.getSharedObjectByType(owner, ref);
+    }
+
+    public int getDepthForAttribute(EStructuralFeature ref) {
+        if (ref.getName().equals("modules"))
+            return NUM_MODULES;
+        return super.getDepthForAttribute(ref);
+    }
+
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java
new file mode 100644
index 0000000..9b1641f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFEditTest.java
@@ -0,0 +1,340 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+import java.util.List;
+
+import junit.framework.TestSuite;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
+import org.eclipse.jst.j2ee.common.CommonFactory;
+import org.eclipse.jst.j2ee.common.SecurityIdentity;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.CMPAttribute;
+import org.eclipse.jst.j2ee.ejb.EJBResource;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.ejb.RoleSource;
+import org.eclipse.jst.j2ee.ejb.impl.MethodPermissionImpl;
+import org.eclipse.jst.j2ee.ejb.impl.QueryMethodImpl;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.wst.common.internal.emf.resource.EMF2SAXRendererFactory;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
+
+
+public class EjbEMFEditTest extends GeneralEMFEditingTest {
+
+	protected static final EjbPackage EJB_PKG = EjbPackage.eINSTANCE;
+	EARFile earFile;
+	EJBJarFile ejbFile;
+	EObject mesBean, entityBean;
+	SecurityIdentity secID;
+	RoleSource roleSource;
+	int NUM_BEANS = 10;
+	final int NUM_RELATION_ROLES = 2;
+	int createdBeans = 0;
+	int createdSecRoles = 0;
+	protected int createdSecurityIdentities = 0;
+	boolean mpFlag = false;
+
+    public EjbEMFEditTest(String name) {
+        super(name);
+    }
+
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+
+    public EjbFactory getEjbFactory() {
+        return EjbPackage.eINSTANCE.getEjbFactory();
+    }
+
+    public ApplicationFactory getApplicationFactory() {
+        return ApplicationPackage.eINSTANCE.getApplicationFactory();
+    }
+
+    public WebapplicationFactory getWebAppFactory() {
+        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    }
+
+    public static void main(java.lang.String[] args) {
+		junit.textui.TestRunner.main(new String[] { EjbEMFEditTest.class.getName() }); 
+    }
+    public static junit.framework.Test suite() {
+        TestSuite suite = new TestSuite();
+        
+        /*System.out.println("Switching to SAX Renderer in " + EjbEMFEditTest.class.getName());
+		suite.addTest(new AllSAXTests("testSwitchRenderer"));*/
+		
+        suite.addTest(new EjbEMFEditTest("testEJBJarEdit"));
+        suite.addTest(new EjbEMFEditTest("testWCCMJar"));
+        /*suite.addTest(new EjbEMFEditTest("testWCCMProvidedCase"));*/
+        
+        return suite;
+    }
+
+    public void testEJBJarEdit() throws Exception {
+        getEJB();
+
+		assertEquals("2.0", ejbFile.getDeploymentDescriptor().getVersion());
+        EJBResource DD = (EJBResource) ejbFile.getDeploymentDescriptorResource();
+		setVersion(VERSION_1_3);
+		setModuleType(EJB); 
+        editRoot(DD.getRootObject());
+
+        String out = "testOutput/EMFModelCreationTests/EditEjbEAR";
+        ejbFile.extractTo(out, Archive.EXPAND_ALL);
+        ejbFile.close();
+        
+        
+        //Compare work in progress
+        String curDir = AutomatedBVT.baseDirectory;
+        String exampleDeploymentDesURI = null;
+        if (RendererFactory.getDefaultRendererFactory() == EMF2SAXRendererFactory.INSTANCE){
+            exampleDeploymentDesURI = curDir + "EMFTests/ejb-jar2-0sax.xml";
+        }
+        else
+            exampleDeploymentDesURI = curDir + "EMFTests/ejb-jar2-0.xml";
+       
+        String curDeploymentDesURI = out + "/META-INF/ejb-jar.xml";
+        compareContents(curDeploymentDesURI, exampleDeploymentDesURI);
+    }
+
+    public void testWCCMJar() throws Exception {
+		String in = AutomatedBVT.baseDirectory + "../testData/ejb";
+		ArchiveOptions options = new ArchiveOptions();
+		options.setIsReadOnly(true);
+		ejbFile = getArchiveFactory().openEJBJarFile(options, in); 
+		 
+        EJBResource DD = (EJBResource) ejbFile.getDeploymentDescriptorResource();
+		DD.getRootObject();
+
+        String out = AutomatedBVT.baseDirectory + "../testData/testOutput";
+        ejbFile.extractTo(out, Archive.EXPAND_ALL);
+        ejbFile.close();
+
+        /*DD.save(System.out, null); */
+        
+        //Compare work in progress
+        String curDir = AutomatedBVT.baseDirectory;
+        String exampleDeploymentDesURI = in + "/META-INF/ejb-jar.xml";
+        String curDeploymentDesURI = out + "/META-INF/ejb-jar.xml";
+
+        compareContents(curDeploymentDesURI, exampleDeploymentDesURI);
+    }
+    
+    /**
+     * Requires j2ee.core.ws.ext to be on the classpath
+     * @throws DuplicateObjectException
+     * @throws OpenFailureException
+     */
+/*    public void testWCCMProvidedCase() throws Exception {
+
+		String in = AutomatedBVT.baseDirectory + "../wccm/ear";
+        EARFile earFile = null;
+        try {
+ 
+            CommonarchiveFactory factory =
+                    CommonarchiveFactoryImpl.getActiveFactory();
+            ArchiveOptions opt = new ArchiveOptions();
+            opt.setIsReadOnly (true);
+            opt.setUseJavaReflection (false);
+ 
+            earFile = factory.openEARFile (opt, in);
+            System.out.println ("uri: " + earFile.getURI());
+            System.out.println ("origuri: " + earFile.getOriginalURI());
+ 
+            Application application = earFile.getDeploymentDescriptor();
+            ApplicationBinding appBindings = earFile.getBindings();
+            ApplicationExtension appExtensions = earFile.getExtensions();
+ 
+
+        Iterator rs = earFile.getLoadedMofResources().iterator();
+        while (rs.hasNext())
+        {
+            Resource r = (Resource) rs.next();
+ 
+            FileOutputStream fo = new FileOutputStream (r.getURI().toString().replace('/', '-'));
+            r.save (fo, new HashMap());
+            fo.flush();
+            fo.close();
+        }
+ 
+            System.out.println("==========<Done App DD>==========");
+            System.out.println ("");
+ 
+
+        }
+        catch (Exception e) {
+            e.printStackTrace();
+        }
+        finally {
+            if(earFile != null)
+            earFile.close();
+        }
+
+    }*/
+
+    public void getEJB() throws DuplicateObjectException, OpenFailureException {
+		String in = AutomatedBVT.baseDirectory + "loose_module_workspace/LooseEAREjb/ejbModule/";
+		 ejbFile = getArchiveFactory().openEJBJarFile(in);
+        assertTrue(ejbFile.getDeploymentDescriptor() != null);
+    }
+
+	public EObject createInstance(EClass eClassifier) {
+		if (eClassifier.getName().equals("EnterpriseBean")) {
+			createdBeans++;
+			switch (createdBeans) {
+				case (3) :
+					return createContainerManagedEntityInstance(eClassifier);
+				case (7) :
+					return createMessageBeanInstance(eClassifier);
+				case (4) :
+				case (8) :
+					return createSessionBeanInstance(eClassifier);
+				default :
+					return createEntityBeanInstance(eClassifier);
+			}
+		} else if (eClassifier.getName().equals("SecurityIdentity"))
+			return createSecurityIdentitiyInstance(eClassifier);
+		else if (eClassifier.getName().equals("RoleSource"))
+			return createRoleSourceInstance(eClassifier);
+		else if (eClassifier == EcorePackage.eINSTANCE.getEAttribute())
+			return getEjbFactory().createCMPAttribute();
+		return super.createInstance(eClassifier);
+	}
+
+	private EObject createSecurityIdentitiyInstance(EClass eClassifier) {
+		/* Alternate types */
+		createdSecRoles++;
+		if ((createdSecRoles & 1) == 0)
+			return CommonFactory.eINSTANCE.createUseCallerIdentity();
+		else
+			return CommonFactory.eINSTANCE.createRunAsSpecifiedIdentity();
+	}
+
+	private EObject createRoleSourceInstance(EClass eClassifier) {
+		return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createRoleSource();
+	}
+
+	private EObject createMessageBeanInstance(EClass eClassifier) {
+		return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createMessageDriven();
+	}
+
+	private EObject createSessionBeanInstance(EClass eClassifier) {
+		return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createSession();
+	}
+
+	private EObject createEntityBeanInstance(EClass eClassifier) {
+		return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createEntity();
+	}
+
+	private EObject createContainerManagedEntityInstance(EClass eClassifier) {
+		return EjbFactory.eINSTANCE.createContainerManagedEntity();
+	}
+
+	/**
+	 * @see org.eclipse.jst.j2ee.archive.test.GeneralEMFTest#getDepthForAttribute(EReference)
+	 */
+	public int getDepthForAttribute(EReference ref) {
+		if (ref.getName().equals("enterpriseBeans"))
+			return NUM_BEANS;
+		else if (ref.getName().equals("entityBeans"))
+			return NUM_BEANS;
+		else if (ref.getName().equals("relationshipRoles"))
+			return NUM_RELATION_ROLES;
+		return super.getDepthForAttribute(ref);
+	}
+
+	/* (non-Javadoc)
+	* @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#populateFeatures(org.eclipse.emf.ecore.EObject)
+	*/
+	public void populateFeatures(EObject eObject) {
+		if (eObject.eClass() == EJB_PKG.getCMPAttribute()) {
+			((CMPAttribute) eObject).setName((String) EMFAttributeFeatureGenerator.createAttribute(EcorePackage.eINSTANCE.getENamedElement_Name(),eObject));
+			((CMPAttribute) eObject).setEType((EClassifier) createJavaClassProxy(null));
+		} else
+			super.editFeatures(eObject);
+	}
+
+	/* (non-Javadoc)
+	 * @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#populateAttributes(org.eclipse.emf.ecore.EObject)
+	 */
+	protected void populateAttributes(EObject eObject) {
+		if (eObject instanceof QueryMethodImpl) {
+			List attributes = eObject.eClass().getEAllAttributes();
+			for (int i = 0; i < attributes.size(); i++) {
+				EAttribute att = (EAttribute) attributes.get(i);
+				Object value = createAttributeValue(att, eObject);
+				if (att.getName().equals("parms") && value == null){
+					value = createAttributeValue(att, eObject);
+				}
+				if (att.isChangeable())
+					eObject.eSet(att, value);
+			}
+		} else if (eObject instanceof MethodPermissionImpl) {
+			List attributes = eObject.eClass().getEAllAttributes();
+			for (int i = 0; i < attributes.size(); i++) {
+				EAttribute att = (EAttribute) attributes.get(i);
+				if(att.getName().equals("unchecked") && mpFlag){
+					continue;					
+				}	
+				
+				Object value = createAttributeValue(att, eObject);
+				if (att.isChangeable())
+					eObject.eSet(att, value);
+			} 
+			mpFlag = !mpFlag;
+		} else
+			super.editAttributes(eObject);
+	}
+	
+
+	protected void populateSharedReference(EObject eObject, EReference ref) {
+		if(eObject instanceof MethodPermissionImpl && ref.getName().equals("roles")){
+			mpFlag = !mpFlag;
+			//if method permission unchecked ignore roles
+			if(!mpFlag){
+				return;
+			}
+		}
+		super.populateSharedReference(eObject, ref);
+	}
+
+	public HashSet ignorableAttributes(){
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+
+	/* (non-Javadoc)
+	 * @see junit.framework.TestCase#tearDown()
+	 */
+	protected void tearDown() throws Exception {
+		earFile = null;
+		ejbFile = null;
+		mesBean = null;
+		entityBean = null;
+		secID  = null;
+		roleSource = null;
+
+		super.tearDown();
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java
new file mode 100644
index 0000000..8a44314
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/EjbEMFTest.java
@@ -0,0 +1,364 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.TestSuite;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.jem.java.impl.JavaClassImpl;
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
+import org.eclipse.jst.j2ee.common.CommonFactory;
+import org.eclipse.jst.j2ee.common.SecurityIdentity;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.CMPAttribute;
+import org.eclipse.jst.j2ee.ejb.CMRField;
+import org.eclipse.jst.j2ee.ejb.EJBResource;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.ejb.MethodPermission;
+import org.eclipse.jst.j2ee.ejb.RoleSource;
+import org.eclipse.jst.j2ee.ejb.impl.EJBRelationshipRoleImpl;
+import org.eclipse.jst.j2ee.ejb.impl.MethodPermissionImpl;
+import org.eclipse.jst.j2ee.ejb.impl.QueryMethodImpl;
+import org.eclipse.jst.j2ee.internal.J2EEInit;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+
+public class EjbEMFTest extends GeneralEMFPopulationTest {
+	static {
+		//Temporary workaround to keep packages from being registered twice
+		J2EEInit.init();
+	}
+	protected static final EjbPackage EJB_PKG = EjbPackage.eINSTANCE;
+	EARFile earFile;
+	EJBJarFile ejbFile;
+	EObject mesBean, entityBean;
+	SecurityIdentity secID;
+	RoleSource roleSource;
+	int NUM_BEANS = 10;
+	final int NUM_RELATION_ROLES = 2;
+	int createdBeans = 0;
+	int createdSecRoles = 0;
+	protected int createdSecurityIdentities = 0;
+	boolean mpFlag = false;
+	boolean firstReturnTypeMapping = true;
+	public EjbEMFTest(String name) {
+		super(name);
+	}
+
+	public CommonarchiveFactory getArchiveFactory() {
+		return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+	}
+
+	public EjbFactory getEjbFactory() {
+		return EJB_PKG.getEjbFactory();
+	}
+
+	public ApplicationFactory getApplicationFactory() {
+		return ApplicationPackage.eINSTANCE.getApplicationFactory();
+	}
+
+	public WebapplicationFactory getWebAppFactory() {
+		return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+	}
+
+	public static void main(java.lang.String[] args) {
+		junit.textui.TestRunner.main(new String[] { EjbEMFTest.class.getName()});
+	}
+	public static junit.framework.Test suite() {
+		TestSuite suite = new TestSuite();
+
+		/*System.out.println("Switching to SAX Renderer in " + EjbEMFTest.class.getName());
+		suite.addTest(new AllSAXTests("testSwitchRenderer"));*/
+		suite.addTest(new EjbEMFTest("testEJBJarPopulation"));
+		suite.addTest(new EjbEMFTest("test14EJBJarPopulation"));
+		return suite;
+	}
+
+	public void testEJBJarPopulation() throws Exception {
+		EMFAttributeFeatureGenerator.reset();
+		createEAR();
+		createEJB();
+
+		EJBResource DD = (EJBResource) ejbFile.getDeploymentDescriptorResource();
+		//TODO: individual test for each version
+		DD.setVersionID(J2EEVersionConstants.J2EE_1_3_ID);
+		setVersion(VERSION_1_3);
+		setModuleType(EJB);
+		populateRoot(DD.getRootObject());
+
+		String out = AutomatedBVT.baseDirectory +"testOutput/TestEJBEAR";
+		earFile.extractTo(out, Archive.EXPAND_ALL);
+		earFile.close();
+		setEquivalentLines(getEquivalentLinesMap());
+		//Compare work in progress
+		String curDir = AutomatedBVT.baseDirectory;
+		String exampleDeploymentDesURI = curDir + "/EMFTestNoID/ejb-jar.xml";
+		String curDeploymentDesURI = curDir + "testOutput/TestEJBEAR/fooEJB/META-INF/ejb-jar.xml";
+		setIgnoreAtt(ignorableAttributes());
+		compareContentsIgnoreWhitespace(curDeploymentDesURI, exampleDeploymentDesURI, null);
+//		DD.unload();
+//		DD.load(new HashMap());
+	}
+	
+	public void test14EJBJarPopulation() throws Exception {
+		EMFAttributeFeatureGenerator.reset();
+		createEAR();
+		createEJB();
+
+		EJBResource DD = (EJBResource) ejbFile.getDeploymentDescriptorResource();
+		//TODO: individual test for each version
+		DD.setVersionID(J2EEVersionConstants.J2EE_1_4_ID);
+		setVersion(VERSION_1_4);
+		setModuleType(EJB);
+		//setGeneralDepth(2);
+		populateRoot(DD.getRootObject());
+		String out = AutomatedBVT.baseDirectory +"testOutput/TestEJBEAR14";
+		earFile.extractTo(out, Archive.EXPAND_ALL);
+		earFile.close();
+		
+		setEquivalentLines(getEquivalentLinesMap());
+		getEJB();
+		assertEquals("2.1", ejbFile.getDeploymentDescriptor().getVersion());
+		out = AutomatedBVT.baseDirectory +"testOutput/TestEJBEAR14_2";
+		ejbFile.extractTo(out, Archive.EXPAND_ALL);
+		ejbFile.close();
+
+		//Compare work in progress
+		String curDir = AutomatedBVT.baseDirectory;
+		String exampleDeploymentDesURI = out + "/META-INF/ejb-jar.xml";
+		String curDeploymentDesURI = curDir + "testOutput/TestEJBEAR14/fooEJB/META-INF/ejb-jar.xml";
+		setIgnoreAtt(ignorableAttributes());
+		compareContentsIgnoreWhitespace(curDeploymentDesURI, exampleDeploymentDesURI, null);
+	}
+	
+	/**
+	 * @return
+	 */
+	private Map getEquivalentLinesMap() {
+		Map lines = new HashMap();
+		lines.put("<cascade-delete></cascade-delete>", "<cascade-delete/>");
+		lines.put("<method-params></method-params>","<method-params/>");
+		lines.put("<unchecked></unchecked>","<unchecked/>"); 
+		lines.put("<use-caller-identity></use-caller-identity>","<use-caller-identity/>");
+		return lines;
+	}
+
+	public void getEJB() throws DuplicateObjectException, OpenFailureException {
+		String in = AutomatedBVT.baseDirectory +"testOutput/TestEJBEAR14/fooEJB";
+		ejbFile = getArchiveFactory().openEJBJarFile(in);
+		assertTrue(ejbFile.getDeploymentDescriptor() != null);
+	}
+
+	public void createEJB() throws DuplicateObjectException {
+		ejbFile = getArchiveFactory().createEJBJarFileInitialized("fooEJB");
+		ejbFile = (EJBJarFile) earFile.addCopy(ejbFile);
+		ejbFile.getDeploymentDescriptor().setDisplayName("fooEJB");
+		assertTrue(ejbFile.getDeploymentDescriptor() != null);
+	}
+
+	public void createEAR() {
+		String earName = "Test.ear";
+		earFile = getArchiveFactory().createEARFileInitialized(earName);
+		assertTrue(earFile.getDeploymentDescriptor() != null);
+	}
+
+	public EObject createInstance(EReference ref, EObject eObject) {
+		EClass eClassifier = (EClass)ref.getEType();
+		if (eClassifier.getName().equals("EnterpriseBean")) {
+			createdBeans++;
+			switch (createdBeans) {
+				case (3) :
+					return createContainerManagedEntityInstance(eClassifier);
+				case (7) :
+					return createMessageBeanInstance(eClassifier);
+				case (4) :
+				case (8) :
+					return createSessionBeanInstance(eClassifier);
+				default :
+					return createEntityBeanInstance(eClassifier);
+			}
+		} else if (eClassifier.getName().equals("SecurityIdentity"))
+			return createSecurityIdentitiyInstance(eClassifier);
+		else if (eClassifier.getName().equals("RoleSource"))
+			return createRoleSourceInstance(eClassifier);
+		else if (eClassifier == EcorePackage.eINSTANCE.getEAttribute())
+			return getEjbFactory().createCMPAttribute();
+		return super.createInstance(ref,eObject);
+	}
+
+	private EObject createSecurityIdentitiyInstance(EClass eClassifier) {
+		/* Alternate types */
+		createdSecRoles++;
+		if ((createdSecRoles & 1) == 0)
+			return CommonFactory.eINSTANCE.createUseCallerIdentity();
+		else
+			return CommonFactory.eINSTANCE.createRunAsSpecifiedIdentity();
+	}
+
+	private EObject createRoleSourceInstance(EClass eClassifier) {
+		return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createRoleSource();
+	}
+
+	private EObject createMessageBeanInstance(EClass eClassifier) {
+		return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createMessageDriven();
+	}
+
+	private EObject createSessionBeanInstance(EClass eClassifier) {
+		return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createSession();
+	}
+
+	private EObject createEntityBeanInstance(EClass eClassifier) {
+		return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createEntity();
+	}
+
+	private EObject createContainerManagedEntityInstance(EClass eClassifier) {
+		return EjbFactory.eINSTANCE.createContainerManagedEntity();
+	}
+
+	/**
+	 * @see org.eclipse.jst.j2ee.archive.test.GeneralEMFTest#getDepthForAttribute(EReference)
+	 */
+	public int getDepthForAttribute(EStructuralFeature ref) {
+		if (ref.getName().equals("enterpriseBeans"))
+			return NUM_BEANS;
+		else if (ref.getName().equals("entityBeans"))
+			return NUM_BEANS;
+		else if (ref.getName().equals("relationshipRoles"))
+			return NUM_RELATION_ROLES;
+		return super.getDepthForAttribute(ref);
+	}
+
+	/* (non-Javadoc)
+	* @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#populateFeatures(org.eclipse.emf.ecore.EObject)
+	*/
+	public void populateFeatures(EObject eObject) {
+		if (eObject.eClass() == EJB_PKG.getCMPAttribute()) {
+			((CMPAttribute) eObject).setName((String) EMFAttributeFeatureGenerator.createAttribute(EcorePackage.eINSTANCE.getENamedElement_Name(),eObject));
+			((CMPAttribute) eObject).setEType((EClassifier) EMFAttributeFeatureGenerator.createJavaClassProxy(EcorePackage.eINSTANCE.getETypedElement_EType(),eObject));
+		} else if (eObject.eClass() == EJB_PKG.getCMRField()) {
+			((CMRField) eObject).setName((String) EMFAttributeFeatureGenerator.createAttribute(EcorePackage.eINSTANCE.getENamedElement_Name(),eObject));
+			populateSharedReference(eObject, EJB_PKG.getCMRField_CollectionType());
+			populateSharedReference(eObject, EJB_PKG.getCMRField_Role());		
+		} else
+			super.populateFeatures(eObject);
+	}
+
+	/* (non-Javadoc)
+	 * @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#populateAttributes(org.eclipse.emf.ecore.EObject)
+	 */
+	protected void populateAttributes(EObject eObject) {
+		if (eObject instanceof QueryMethodImpl) {
+			List attributes = eObject.eClass().getEAllAttributes();
+			for (int i = 0; i < attributes.size(); i++) { 
+				EAttribute att = (EAttribute) attributes.get(i);
+				if (att.equals(EJB_PKG.getMethodElement_Description()) || att.equals(EJB_PKG.getMethodElement_EnterpriseBean()) || att.equals(EJB_PKG.getMethodElement_Type()) )
+					continue;
+				Object value = createAttributeValue(att, eObject);
+				if (att.getName().equals("parms") && value == null){
+					value = createAttributeValue(att, eObject);
+				}
+				if (att.isChangeable())
+					eObject.eSet(att, value);
+			}
+		} else if (eObject instanceof MethodPermissionImpl) {
+			List attributes = eObject.eClass().getEAllAttributes();
+			for (int i = 0; i < attributes.size(); i++) {
+				EAttribute att = (EAttribute) attributes.get(i);
+				if(att.getName().equals("unchecked") && mpFlag){
+					continue;					
+				}	
+				
+				Object value = createAttributeValue(att, eObject);
+				if (att.isChangeable())
+					eObject.eSet(att, value);
+			} 
+			mpFlag = !mpFlag;
+		} else if (eObject instanceof EJBRelationshipRoleImpl) {
+			List attributes = eObject.eClass().getEAllAttributes();
+			EAttribute lastAttr = null;
+			Object value = null;
+			for (int i = 0; i < attributes.size(); i++) {
+				EAttribute att = (EAttribute) attributes.get(i);
+				if (att.getName().equals("cascadeDelete") && (lastAttr.getName().equals("multiplicity") && !value.toString().equals("Many")))
+					continue;
+
+				value = createAttributeValue(att, eObject);
+				if (att.isChangeable())
+					eObject.eSet(att, value);
+				lastAttr = att;
+		}
+			mpFlag = !mpFlag;
+		} else
+			super.populateAttributes(eObject);
+	}
+	
+
+	protected void populateSharedReference(EObject eObject, EReference ref) {
+		if (ref == EJB_PKG.getCMRField_CollectionType()) {
+			setReferenceValue(eObject, ref, JavaClassImpl.createClassRef("java.util.Collection"));
+			return;
+		} else if(eObject instanceof MethodPermission && ref.getName().equals("roles")){
+			//if method permission unchecked ignore roles
+			if(mpFlag){
+				return;
+			}
+			mpFlag = !mpFlag;
+		}
+		super.populateSharedReference(eObject, ref);
+	}
+
+	public HashSet ignorableAttributes(){
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+
+	/* (non-Javadoc)
+	 * @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#createAttributeValue(org.eclipse.emf.ecore.EAttribute, org.eclipse.emf.ecore.EObject)
+	 */
+	protected Object createAttributeValue(EAttribute att, EObject eObject) {
+		//eat the first return type mapping because the order was changed.
+		if (firstReturnTypeMapping && att.equals(EJB_PKG.getQuery_ReturnTypeMapping())){
+			super.createAttributeValue(att,eObject);
+			firstReturnTypeMapping = false;
+		} else if (att.equals(EJB_PKG.getEnterpriseBean_Name()))
+			return EMFAttributeFeatureGenerator.createAttribute(att,EJB_PKG.getEntity());
+		return super.createAttributeValue(att, eObject);
+	}
+
+	/* (non-Javadoc)
+	 * @see junit.framework.TestCase#tearDown()
+	 */
+	protected void tearDown() throws Exception {
+		super.tearDown();
+		earFile = null;
+		ejbFile = null;
+		mesBean = null;
+		entityBean = null;
+		secID = null;
+		roleSource = null;
+
+		
+}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFEditingTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFEditingTest.java
new file mode 100644
index 0000000..42084bf
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFEditingTest.java
@@ -0,0 +1,413 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.jem.java.JavaRefPackage;
+import org.eclipse.jem.java.impl.JavaClassImpl;
+import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
+import org.eclipse.jst.j2ee.archive.testutilities.J2EEVersionCheck;
+import org.eclipse.jst.j2ee.archive.testutilities.TestUtilities;
+import org.eclipse.jst.j2ee.common.CommonPackage;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+
+
+public class GeneralEMFEditingTest extends TestCase {
+	//inner class to handle deffered shared references
+	protected class DeferredSharedReferenceAction {
+		EObject owner;
+		EReference ref;
+
+		public DeferredSharedReferenceAction(EObject owner, EReference ref) {
+			this.owner = owner;
+			this.ref = ref;
+		}
+
+		public void performAction() {
+			Object value = getSharedObjectByType(owner, ref);
+			setReferenceValue(owner, ref, value);
+		}
+	}
+
+	protected Map equivalentLines;
+	public List deferedReferences;
+	public static int genDepth = 5;
+	public static Object sharedValue;
+	public int classIndex = 0;
+	public static String avClass[];
+	public static HashSet ignoreAtt;
+
+	public int version;
+	public int moduleType;
+	//static versions
+	public static final int VERSION_1_2 = 0;
+	public static final int VERSION_1_3 = 1;
+	public static final int VERSION_1_4 = 2;
+
+	public static final int APPICATION = 0;
+	public static final int APP_CLIENT = 1;
+	public static final int CONNECTOR = 2;
+	public static final int EJB = 3;
+	public static final int WEB = 4;
+
+	public GeneralEMFEditingTest(String name) {
+		super(name);
+	}
+
+	public void editRoot(EObject eObject) {
+		editFeatures(eObject);
+		//if (deferedReferences != null) {
+		//	for (int i = 0; i < deferedReferences.size(); i++) {
+		//		((DeferredSharedReferenceAction) deferedReferences.get(i)).performAction();
+		//	}
+		//}
+	}
+
+	public void editFeatures(EObject eObject) {
+		if (eObject == null)
+			return;
+		else {
+			editAttributes(eObject);
+			editReferences(eObject);
+		}
+	}
+
+	protected void editReferences(EObject eObject) {
+		List references = eObject.eClass().getEAllReferences();
+		for (int i = 0; i < references.size(); i++) {
+			EReference ref = (EReference) references.get(i);
+			if (!ref.isMany() && eObject.eGet(ref) != null)
+				continue;
+			if (ref.isContainment())
+				populateContainmentReference(eObject, ref);
+			else
+				populateSharedReference(eObject, ref);
+		}
+	}
+
+	protected void populateSharedReference(EObject eObject, EReference ref) {
+		if (ref.getEType() == JavaRefPackage.eINSTANCE.getJavaClass())
+			setReferenceValue(eObject, ref, createJavaClassProxy((EClass) ref.getEType()));
+		else {
+			EPackage pkg = ref.getEType().getEPackage();
+			if (pkg == eObject.eClass().getEPackage() || pkg == CommonPackage.eINSTANCE) {
+				if (eObject.eClass().getName().equals("EAnnotation") || eObject.eClass().getName().equals("EAnnotationImpl") || !J2EEVersionCheck.checkReferenceVersion(ref, version, moduleType))
+					return;
+				if (deferedReferences == null)
+					deferedReferences = new ArrayList();
+				deferedReferences.add(new DeferredSharedReferenceAction(eObject, ref));
+			}
+		}
+	}
+
+	protected void populateContainmentReference(EObject eObject, EReference ref) {
+		for (int i = 0; i < getDepthForAttribute(ref); i++) {
+			EObject instance = createInstance((EClass) ref.getEType());
+			if (instance == null)
+				return;
+			if (!J2EEVersionCheck.checkReferenceVersion(ref, version, moduleType))
+				continue;
+			setReferenceValue(eObject, ref, instance);
+			if (((InternalEObject) instance).eIsProxy())
+				return;
+			if (ref.getEType() == eObject.eClass())
+				editAttributes(instance);
+			else
+				editFeatures(instance);
+		}
+	}
+
+	protected void setReferenceValue(EObject eObject, EReference ref, Object value) {
+		if (ref.getName().equals("EAnnotation") || ref.getName().equals("EAnnotationImpl") || !J2EEVersionCheck.checkReferenceVersion(ref, version, moduleType))
+			return;
+		if (ref.isMany()) {
+			List list = (List) eObject.eGet(ref);
+			if (value instanceof Collection)
+				list.addAll((Collection) value);
+			else
+				list.add(value);
+		} else {
+			eObject.eSet(ref, value);
+		}
+	}
+
+	public EObject createInstance(EClass eClassifier) {
+		if (eClassifier == JavaRefPackage.eINSTANCE.getJavaClass())
+			return createJavaClassProxy(eClassifier);
+		return eClassifier.getEPackage().getEFactoryInstance().create(eClassifier);
+	}
+
+	protected void editAttributes(EObject eObject) {
+		List attributes = eObject.eClass().getEAllAttributes();
+		for (int i = 0; i < attributes.size(); i++) {
+			EAttribute att = (EAttribute) attributes.get(i);
+			if (att.isChangeable() && J2EEVersionCheck.checkAttributeVersion(att, version, moduleType)) {
+				Object value = createAttributeValue(att, eObject);
+				eObject.eSet(att, value);
+			}
+		}
+	}
+
+	protected Object createAttributeValue(EAttribute att, EObject eObject) {
+		if (att.getEType() == JavaRefPackage.eINSTANCE.getJavaClass()) {
+			return createJavaClassProxy(att.eClass()).getClass();
+		} 
+		// if (moduleType == WEB)
+			return EMFAttributeFeatureGenerator.createAttribute(att, eObject, true, version, moduleType);
+		//return EMFAttributeFeatureGenerator.createAttribute(att);
+	}
+
+	protected EObject createJavaClassProxy(EClass metaClass) {
+		if (avClass == null) {
+			avClass = new String[] { "java.util.HashTable", "java.util.List", "java.sql.Data", "java.lang.Integer", "java.lang.String" };
+		}
+		String name = avClass[classIndex];
+		classIndex++;
+		if (classIndex == 5)
+			classIndex = 0;
+		return JavaClassImpl.createClassRef(name);
+	}
+
+	// Old Compare method....now using DOMComparator...remove once stable
+	public void compareContents(String file1, String file2) throws Exception {
+	    BufferedReader reader1 = null;
+	    BufferedReader reader2 = null;
+		try {
+			int lineno = 1;
+			reader1 = new BufferedReader(new InputStreamReader(getFileInputStream(file1)));
+			reader2 = new BufferedReader(new InputStreamReader(getFileInputStream(file2)));
+			String line1 = "", line2 = "";
+			while (reader1.ready() && reader2.ready()) {
+				line1 = readLineTrimComments(reader1); 
+				line2 = readLineTrimComments(reader2);
+				if (line1 == null && line2 == null && lineno != 0)
+					return;
+							    
+				if (!line1.trim().equals(line2.trim())) {
+					String message = "Error at line #: " + lineno + '\n' + line1 + '\n' + line2 + '\n';
+					System.out.println(message);
+					//assertTrue(message, false);
+				}
+				lineno++;
+			}
+			assertTrue("The files have a different number of lines:" + lineno + '\n' + line1 + '\n' + line2 + '\n', (!reader1.ready() && !reader2.ready()));
+		} catch (IOException ex) {
+		    ex.printStackTrace();
+			assertTrue("IO failed", false);
+		} finally {
+		    if(reader1 != null)
+		        reader1.close();
+		    if(reader2 != null)
+		        reader2.close();
+		}
+	} 
+
+    /**
+     * @param string
+     * @return
+     */
+    private String readLineTrimComments(BufferedReader reader) throws IOException {
+        String result = reader.readLine(); 
+        if(result.indexOf("<!--") < 0)
+            return result;
+        else {
+            int endCommentIndx = 0;
+            while(reader.ready()) {
+                if( (endCommentIndx = result.indexOf("-->")) >= 0) 
+                    result = reader.readLine();
+                else 
+                    return result;
+            }
+        }
+        return result;
+    }
+
+    public void compareContentsIgnoreWhitespace(String file1, String file2, String identifier) throws Exception {
+
+		LineNumberReader reader1 = new LineNumberReader(new InputStreamReader(getFileInputStream(file1)));
+		LineNumberReader reader2 = new LineNumberReader(new InputStreamReader(getFileInputStream(file2)));
+		compareContentsIgnoreWhitespace(reader1, reader2, identifier);
+
+	}
+
+	public void compareContentsIgnoreWhitespace(LineNumberReader reader1, LineNumberReader reader2, String identifier) throws Exception {
+
+		while (reader1.ready() || reader2.ready()) {
+			String line1 = "", line2 = "";
+			while (reader1.ready() && line1.equals("")) {
+				line1 = reader1.readLine().trim();
+			}
+			while (reader2.ready() && line2.equals("")) {
+				line2 = reader2.readLine().trim();
+			}
+			if (!isEquivalentLines(line1, line2)) {
+				StringBuffer buff = new StringBuffer();
+				buff.append("Difference found in test ");
+
+				buff.append(identifier);
+				buff.append("\nSource line #: ");
+				buff.append(reader1.getLineNumber());
+				buff.append('\n');
+				buff.append(line1);
+				buff.append("\nDestination line #: ");
+				buff.append(reader2.getLineNumber());
+				buff.append('\n');
+				buff.append(line2);
+				assertTrue(buff.toString(), false);
+			}
+		}
+
+	}
+
+	public boolean lineEquals(String line1, String line2) {
+		return line1.equals(line2);
+	}
+
+	public boolean isEquivalentLines(String line1, String line2) {
+		if (lineEquals(line1, line2))
+			return true;
+
+		String equiv = (String) getEquivalentLines().get(line1);
+		return equiv != null && equiv.equals(line2);
+	}
+	public Map getEquivalentLines() {
+		if (equivalentLines == null)
+			equivalentLines = new HashMap();
+		return equivalentLines;
+	}
+
+	public void setEquivalentLines(Map equivalentLines) {
+		this.equivalentLines = equivalentLines;
+	}
+	/*
+		public void compareContents(String file1, String file2) throws Exception {
+			InputStream is1, is2;
+			is1 = getFileInputStream(file1);
+			is2 = getFileInputStream(file2);
+			InputSource input1 = new InputSource(is1);
+			InputSource input2 = new InputSource(is2);
+			try {
+				String results;
+				if(ignoreAtt == null)
+					results = DomComparitor.compareDoms(input1, input2);
+				else
+					results = DomComparitor.compareDoms(input1, input2, ignoreAtt);
+				if (results != null) {
+					assertTrue("Unequal doms compared as equal " + file1 + " " + file2 + "Details: " + results, false);
+				}
+			} finally {
+				try {
+					is1.close();
+				} catch (Exception e) {
+					Assert.fail(e.getMessage());
+				}
+				try {
+					is2.close();
+				} catch (Exception e) {
+					Assert.fail(e.getMessage());
+				}
+			}
+		}
+	*/
+	public InputStream getFileInputStream(String path) throws FileNotFoundException {
+		return new FileInputStream(path);
+	}
+
+	public InputStream getResourceAsStream(String fileName) {
+		InputStream in = null;
+		ClassLoader loader = getClass().getClassLoader();
+		if (loader == null) {
+			in = ClassLoader.getSystemResourceAsStream(fileName);
+		} else {
+			in = loader.getResourceAsStream(fileName);
+		}
+		assertTrue("Unable to find resource: " + fileName, in != null);
+		return in;
+	}
+
+	public void setGeneralDepth(int depth) {
+		GeneralEMFPopulationTest.genDepth = depth;
+	}
+
+	public void setModuleType(int type) {
+		moduleType = type;
+	}
+
+	public void setVersion(int version) {
+		this.version = version;
+	}
+
+	public int getDepthForAttribute(EReference ref) {
+		if (ref.isMany())
+			return genDepth;
+		else
+			return 1;
+	}
+
+	public Object getSharedObjectByType(EObject owner, EReference ref) {
+		sharedValue = TestUtilities.getObjectByType(owner.eResource(), ref.getEType(), ref.isMany());
+		return sharedValue;
+	}
+
+	/**
+	 * @param set
+	 */
+	public static void setIgnoreAtt(HashSet set) {
+		ignoreAtt = set;
+	}
+	
+	/* (non-Javadoc)
+	 * @see junit.framework.TestCase#tearDown()
+	 */
+	protected void tearDown() throws Exception {
+		try {
+			String out = AutomatedBVT.baseDirectory + "testOutput/";
+			File del = new File(out);
+			deleteDirectory(del);
+			del.delete();
+			out = AutomatedBVT.baseDirectory + "../testData/testOutput/";
+			del = new File(out);
+			deleteDirectory(del);
+			del.delete();
+		}
+		catch (Exception e){
+			e.printStackTrace();
+		}
+		super.tearDown();
+	}
+	
+	protected void deleteDirectory(File directory)
+	   throws IOException
+	{
+		if (directory.exists()){
+		   File[] delFiles = directory.listFiles();
+	
+		   for(int i=0; i<delFiles.length; ++i)
+		   {
+		      if(delFiles[i].isDirectory())
+		         deleteDirectory(delFiles[i]);
+		      delFiles[i].delete();
+		   }  
+		}
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFPopulationTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFPopulationTest.java
new file mode 100644
index 0000000..0523f97
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/GeneralEMFPopulationTest.java
@@ -0,0 +1,458 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.TestCase;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.jem.java.JavaRefPackage;
+import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
+import org.eclipse.jst.j2ee.archive.testutilities.J2EEVersionCheck;
+import org.eclipse.jst.j2ee.archive.testutilities.TestUtilities;
+import org.eclipse.jst.j2ee.common.CommonPackage;
+import org.eclipse.jst.j2ee.common.EJBLocalRef;
+import org.eclipse.jst.j2ee.common.QName;
+import org.eclipse.jst.j2ee.common.ResAuthTypeBase;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.ejb.MessageDriven;
+import org.eclipse.jst.j2ee.ejb.MethodElementKind;
+
+
+public class GeneralEMFPopulationTest extends TestCase {
+    //inner class to handle deffered shared references
+    protected class DeferredSharedReferenceAction {
+        EObject owner;
+        EReference ref;
+
+        public DeferredSharedReferenceAction(EObject owner, EReference ref) {
+            this.owner = owner;
+            this.ref = ref;
+        }
+
+        public void performAction() {
+            Object value = getSharedObjectByType(owner, ref);
+            setReferenceValue(owner, ref, value);
+        }
+    }
+
+    protected Map equivalentLines;
+    public List deferedReferences;
+    public static int genDepth = 5;
+    public static Object sharedValue;
+    public static HashSet ignoreAtt;
+
+    public int version;
+    public int moduleType;
+    //static versions
+    public static final int VERSION_1_2 = 0;
+    public static final int VERSION_1_3 = 1;
+    public static final int VERSION_1_4 = 2;
+
+    public static final int APPICATION = 0;
+    public static final int APP_CLIENT = 1;
+    public static final int CONNECTOR = 2;
+    public static final int EJB = 3;
+    public static final int WEB = 4;
+
+    public GeneralEMFPopulationTest(String name) {
+        super(name);
+    }
+
+    public void populateRoot(EObject eObject) {
+        populateFeatures(eObject);
+        if (deferedReferences != null) {
+            for (int i = 0; i < deferedReferences.size(); i++) {
+                ((DeferredSharedReferenceAction) deferedReferences.get(i)).performAction();
+            }
+        }
+    }
+
+    public void populateFeatures(EObject eObject) {
+        if (eObject == null)
+            return;
+        else {
+            populateAttributes(eObject);
+            populateReferences(eObject);
+        }
+    }
+
+    protected void populateReferences(EObject eObject) {
+        List references = eObject.eClass().getEAllReferences();
+        for (int i = 0; i < references.size(); i++) {
+            EReference ref = (EReference) references.get(i);
+            if (!ref.isMany() && eObject.eGet(ref) != null)
+                continue;
+			if (eObject instanceof MessageDriven && (ref.equals(EjbPackage.eINSTANCE.getEnterpriseBean_HomeInterface()) || ref.equals(EjbPackage.eINSTANCE.getEnterpriseBean_RemoteInterface()) || ref.equals(EjbPackage.eINSTANCE.getEnterpriseBean_LocalInterface()) || ref.equals(EjbPackage.eINSTANCE.getEnterpriseBean_LocalHomeInterface()) || ref.equals(EjbPackage.eINSTANCE.getEnterpriseBean_SecurityRoleRefs())))
+				continue;
+            if (ref.isContainment())
+                populateContainmentReference(eObject, ref);
+            else
+                populateSharedReference(eObject, ref);
+        }
+    }
+
+    protected void populateSharedReference(EObject eObject, EReference ref) {
+        if (ref.getEType() == JavaRefPackage.eINSTANCE.getJavaClass())
+            setReferenceValue(eObject, ref, EMFAttributeFeatureGenerator.createJavaClassProxy(ref,eObject));
+        else {
+            EPackage pkg = ref.getEType().getEPackage();
+            //if (pkg == eObject.eClass().getEPackage() || pkg == CommonPackage.eINSTANCE) {
+                if (eObject.eClass().getName().equals("EAnnotation") || eObject.eClass().getName().equals("EAnnotationImpl") || !J2EEVersionCheck.checkReferenceVersion(ref, version, moduleType))
+                    return;
+                if (deferedReferences == null)
+                    deferedReferences = new ArrayList();
+                deferedReferences.add(new DeferredSharedReferenceAction(eObject, ref));
+            //}
+        }
+    }
+
+    protected void populateContainmentReference(EObject eObject, EReference ref) {
+        for (int i = 0; i < getDepthForAttribute(ref); i++) {
+            EObject instance = createInstance(ref,eObject);
+            if (instance == null)
+                return;
+            if (!J2EEVersionCheck.checkReferenceVersion(ref, version, moduleType))
+                continue;
+            setReferenceValue(eObject, ref, instance);
+            if (((InternalEObject) instance).eIsProxy())
+                return;
+            if (ref.getEType() == eObject.eClass())
+                populateAttributes(instance);
+            else
+                populateFeatures(instance);
+        }
+    }
+
+    protected void setReferenceValue(EObject eObject, EStructuralFeature ref, Object value) {
+        if (ref.getName().equals("EAnnotation") || ref.getName().equals("EAnnotationImpl") || !J2EEVersionCheck.checkReferenceVersion(ref, version, moduleType))
+            return;
+        if (ref.isMany()) {
+            List list = (List) eObject.eGet(ref);
+            if (value instanceof Collection)
+                list.addAll((Collection) value);
+            else
+                list.add(value);
+        } else {
+            eObject.eSet(ref, value);
+        }
+    }
+
+    public EObject createInstance(EReference ref, EObject eObject) {
+        if (ref.getEType() == JavaRefPackage.eINSTANCE.getJavaClass())
+            return EMFAttributeFeatureGenerator.createJavaClassProxy(ref, eObject);
+        return ref.getEType().getEPackage().getEFactoryInstance().create((EClass)ref.getEType());
+    }
+
+    protected void populateAttributes(EObject eObject) {
+    	if (eObject.eClass() == CommonPackage.eINSTANCE.getQName()) {
+    		populateAttributesQName(eObject);
+    		return;
+    	}
+        List attributes = eObject.eClass().getEAllAttributes();
+        for (int i = 0; i < attributes.size(); i++) {
+            EAttribute att = (EAttribute) attributes.get(i);
+            if (eObject instanceof EJBLocalRef && (att.equals(CommonPackage.eINSTANCE.getEjbRef_Home()) || att.equals(CommonPackage.eINSTANCE.getEjbRef_Remote())))
+            	continue;
+            primPopulateAttrbute(eObject, att);
+        }
+    }
+
+	private void primPopulateAttrbute(EObject eObject, EAttribute att) {
+            if (att.isChangeable() && J2EEVersionCheck.checkAttributeVersion(att, version, moduleType)) {
+                for (int j = 0 ; j < getDepthForAttribute(att);j++){
+	                Object value = createAttributeValue(att, eObject);
+	                setReferenceValue(eObject,att,value);
+                }
+            }
+        }
+    
+    
+
+    /**
+	 * @param eObject
+	 */
+	private void populateAttributesQName(EObject eObject) {
+		String prefix = (String)createAttributeValue(CommonPackage.eINSTANCE.getQName_InternalPrefixOrNsURI(), eObject);
+		String localPart = (String)createAttributeValue(CommonPackage.eINSTANCE.getQName_LocalPart(), eObject);
+		((QName)eObject).setValues(prefix, "http://www.ibm.com", localPart);
+    }
+
+    protected Object createAttributeValue(EAttribute att, EObject eObject) {
+        if (att.getEType() == JavaRefPackage.eINSTANCE.getJavaClass()) {
+            return EMFAttributeFeatureGenerator.createJavaClassProxy(att,eObject).getClass();
+        } else if (att == CommonPackage.eINSTANCE.getResourceRef_Auth())
+			return createResAuth(att, eObject);
+		else if (att == EjbPackage.eINSTANCE.getMethodElement_Type())
+			return createMethodElementType(att, eObject);
+        else
+            return primCreateAttributeValue(att, eObject);
+        //return EMFAttributeFeatureGenerator.createAttribute(att);
+    }
+    
+    protected Object primCreateAttributeValue(EAttribute att, EObject eObject) {
+		return EMFAttributeFeatureGenerator.createAttribute(att, eObject, true, version, moduleType);
+    }
+
+    // Old Compare method....now using DOMComparator...remove once stable
+    public void compareContents(String file1, String file2) throws Exception {
+        try {
+            int lineno = 1;
+            BufferedReader reader1 = new BufferedReader(new InputStreamReader(getFileInputStream(file1)));
+            BufferedReader reader2 = new BufferedReader(new InputStreamReader(getFileInputStream(file2)));
+            String line1 = "", line2 = "";
+            while (reader1.ready() && reader2.ready()) {
+                line1 = reader1.readLine();
+                line2 = reader2.readLine();
+                if (line1 == null && line2 == null && lineno != 0)
+                    return;
+                if (!line1.equals(line2)) {
+                    String message = "Error at line #: " + lineno + '\n' + line1 + '\n' + line2 + '\n';
+                    assertTrue(message, false);
+                    break; // added to escape compare 
+                }
+                lineno++;
+            }
+            assertTrue("The files have a different number of lines:" + lineno + '\n' + line1 + '\n' + line2 + '\n', (!reader1.ready() && !reader2.ready()));
+        } catch (IOException ex) {
+            assertTrue("IO failed", false);
+        }
+    }
+    public void compareContentsIgnoreWhitespace(String file1, String file2, String identifier) throws Exception {
+
+        LineNumberReader reader1 = new LineNumberReader(new InputStreamReader(getFileInputStream(file1)));
+        LineNumberReader reader2 = new LineNumberReader(new InputStreamReader(getFileInputStream(file2)));
+        compareContentsIgnoreWhitespace(reader1, reader2, identifier);
+
+    }
+
+    public void compareContentsIgnoreWhitespace(LineNumberReader reader1, LineNumberReader reader2, String identifier) throws Exception {
+		List errors = new ArrayList();
+		String msg = null;
+        while (reader1.ready() || reader2.ready()) {
+            String line1 = "", line2 = "";
+            while (reader1.ready() && line1 != null && line1.equals("")) {
+                line1 = reader1.readLine();
+                if (line1 != null)
+                	line1 = line1.trim();
+            }
+            while (reader2.ready() && line2 != null && line2.equals("")) {
+                line2 = reader2.readLine();
+                if (line2 != null)
+                	line2 = line2.trim();
+            }
+            if (line1 != null && line2 != null && !isEquivalentLines(line1, line2)) {
+                StringBuffer buff = new StringBuffer();
+                buff.append("------------------------------ ");
+                buff.append("\nSource line #: ");
+                buff.append(reader1.getLineNumber());
+                buff.append('\n');
+                buff.append(line1);
+                buff.append("\nDestination line #: ");
+                buff.append(reader2.getLineNumber());
+                buff.append('\n');
+                buff.append(line2);
+                System.out.println(buff.toString());
+                errors.add(buff);
+                break;
+            }
+        }
+        if (!errors.isEmpty())
+			assertTrue("Errors Found, Check Console.", false);
+    }
+
+    public boolean lineEquals(String line1, String line2) {
+        return line1 != null && line1.equals(line2);
+    }
+
+    public boolean isEquivalentLines(String line1, String line2) {
+        if (lineEquals(line1, line2))
+            return true;
+
+        String equiv = (String) getEquivalentLines().get(line1);
+        if (equiv == null){
+        	equiv = (String)getEquivalentLines().get(line2);
+        	if (equiv != null)
+        		return equiv.equals(line1);
+        }
+        return equiv != null && equiv.equals(line2);
+    }
+    public Map getEquivalentLines() {
+        if (equivalentLines == null)
+            equivalentLines = new HashMap();
+        return equivalentLines;
+    }
+
+    public void setEquivalentLines(Map equivalentLines) {
+        this.equivalentLines = equivalentLines;
+    }
+    /*
+    	public void compareContents(String file1, String file2) throws Exception {
+    		InputStream is1, is2;
+    		is1 = getFileInputStream(file1);
+    		is2 = getFileInputStream(file2);
+    		InputSource input1 = new InputSource(is1);
+    		InputSource input2 = new InputSource(is2);
+    		try {
+    			String results;
+    			if(ignoreAtt == null)
+    				results = DomComparitor.compareDoms(input1, input2);
+    			else
+    				results = DomComparitor.compareDoms(input1, input2, ignoreAtt);
+    			if (results != null) {
+    				assertTrue("Unequal doms compared as equal " + file1 + " " + file2 + "Details: " + results, false);
+    			}
+    		} finally {
+    			try {
+    				is1.close();
+    			} catch (Exception e) {
+    				Assert.fail(e.getMessage());
+    			}
+    			try {
+    				is2.close();
+    			} catch (Exception e) {
+    				Assert.fail(e.getMessage());
+    			}
+    		}
+    	}
+    */
+    public InputStream getFileInputStream(String path) throws FileNotFoundException {
+        return new FileInputStream(path);
+    }
+
+    public InputStream getResourceAsStream(String fileName) {
+        InputStream in = null;
+        ClassLoader loader = getClass().getClassLoader();
+        if (loader == null) {
+            in = ClassLoader.getSystemResourceAsStream(fileName);
+        } else {
+            in = loader.getResourceAsStream(fileName);
+        }
+        assertTrue("Unable to find resource: " + fileName, in != null);
+        return in;
+    }
+
+    public void setGeneralDepth(int depth) {
+        GeneralEMFPopulationTest.genDepth = depth;
+    }
+
+    public void setModuleType(int type) {
+        moduleType = type;
+    }
+
+    public void setVersion(int version) {
+        this.version = version;
+    }
+
+    public int getDepthForAttribute(EStructuralFeature feature) {
+        if (feature.isMany())
+            return genDepth;
+        else
+            return 1;
+    }
+
+    public Object getSharedObjectByType(EObject owner, EReference ref) {
+        sharedValue = TestUtilities.getObjectByType(owner.eResource(), ref.getEType(), ref.isMany());
+        return sharedValue;
+    }
+
+    /**
+     * @param set
+     */
+    public static void setIgnoreAtt(HashSet set) {
+        ignoreAtt = set;
+    }
+    
+	
+	
+	protected Object createResAuth(EAttribute att, EObject eObject) {
+		Object auth = null;
+		do {
+			auth = primCreateAttributeValue(att, eObject);
+		} while (!isValidAuth((ResAuthTypeBase)auth));
+		return auth;
+	}
+	
+	/**
+	 * Web will need to override  for J2EE 1.2/1/3
+	 * @param auth
+	 * @return
+	 */
+	protected boolean isValidAuth(ResAuthTypeBase auth) {
+		return auth == ResAuthTypeBase.APPLICATION_LITERAL || auth == ResAuthTypeBase.CONTAINER_LITERAL;
+	}
+	
+	protected Object createMethodElementType(EAttribute att, EObject eObject) {
+		Object type = null;
+		do {
+			type = primCreateAttributeValue(att, eObject);
+		} while (!isValidMethodElementType((MethodElementKind)type));
+		return type;
+	}
+
+	/**
+	 * Web will need to override  for J2EE 1.2/1/3
+	 * @param auth
+	 * @return
+	 */
+	protected boolean isValidMethodElementType(MethodElementKind type) {
+		if  (version == VERSION_1_4)
+			return true;
+		return version != VERSION_1_4 && type != MethodElementKind.SERVICE_ENDPOINT_LITERAL;
+	}
+	
+	/* (non-Javadoc)
+	 * @see junit.framework.TestCase#tearDown()
+	 */
+	protected void tearDown() throws Exception {
+		try {
+			String out = AutomatedBVT.baseDirectory + "testOutput/";
+			File del = new File(out);
+			deleteDirectory(del);
+			del.delete();
+			out = AutomatedBVT.baseDirectory + "../testData/testOutput/";
+			del = new File(out);
+			deleteDirectory(del);
+			del.delete();
+		}
+		catch (Exception e){
+			e.printStackTrace();
+		}
+		super.tearDown();
+	}
+	
+	protected void deleteDirectory(File directory)
+	   throws IOException
+	{
+		if (directory.exists()){
+		   File[] delFiles = directory.listFiles();
+	
+		   for(int i=0; i<delFiles.length; ++i)
+		   {
+		      if(delFiles[i].isDirectory())
+		         deleteDirectory(delFiles[i]);
+		      delFiles[i].delete();
+		   }  
+		}
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFEditTest.java
new file mode 100644
index 0000000..7ec3af0
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFEditTest.java
@@ -0,0 +1,87 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.jca.ConnectorResource;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+
+public class RarEMFEditTest extends GeneralEMFEditingTest {
+    RARFile rarFile;
+
+    public RarEMFEditTest(String name) {
+        super(name);
+    }
+
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+
+    public EjbFactory getEjbFactory() {
+        return EjbPackage.eINSTANCE.getEjbFactory();
+    }
+
+    public ApplicationFactory getApplicationFactory() {
+        return ApplicationPackage.eINSTANCE.getApplicationFactory();
+    }
+
+    public WebapplicationFactory getWebAppFactory() {
+        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    }
+
+    public static void main(java.lang.String[] args) {
+        String[] className = { "com.ibm.etools.archive.test.RarEMFEditTest", "-noloading" };
+        TestRunner.main(className);
+    }
+    public static junit.framework.Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(new RarEMFEditTest("testRAREdit"));
+        return suite;
+    }
+
+    public void testRAREdit() throws Exception {
+        getRar();
+		assertEquals("1.0", rarFile.getDeploymentDescriptor().getSpecVersion());
+
+		ConnectorResource DD = (ConnectorResource) rarFile.getDeploymentDescriptorResource();
+       	setVersion(VERSION_1_3);
+       	setModuleType(CONNECTOR);       
+        editRoot(DD.getRootObject());
+
+        String out = "editOutput/EMFModelCreationTests/EditRarEAR";
+        rarFile.extractTo(out, Archive.EXPAND_ALL);
+        rarFile.close();
+
+        //Compare work in progress
+        String curDir = AutomatedBVT.baseDirectory;
+        String exampleDeploymentDesURI = curDir + "EMFTests/ra.xml";
+        String curDeploymentDesURI = curDir + out + "/fooRAR/META-INF/ra.xml";
+        //compareContents(curDeploymentDesURI, exampleDeploymentDesURI);
+    }
+
+    public void getRar() throws DuplicateObjectException, OpenFailureException {
+        String in = AutomatedBVT.baseDirectory + "loose_module_workspace/LooseConnector/fooRAR/";
+        rarFile = getArchiveFactory().openRARFile(in);
+        assertTrue(rarFile.getDeploymentDescriptor() != null);
+    }
+	public HashSet ignorableAttributes(){
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFTest.java
new file mode 100644
index 0000000..7d73cf7
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/RarEMFTest.java
@@ -0,0 +1,158 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.jca.ConnectorResource;
+import org.eclipse.jst.j2ee.jca.JcaPackage;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+
+public class RarEMFTest extends GeneralEMFPopulationTest {
+	EARFile earFile;
+	RARFile rarFile;
+
+	public RarEMFTest(String name) {
+		super(name);
+	}
+
+	public CommonarchiveFactory getArchiveFactory() {
+		return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+	}
+
+	public EjbFactory getEjbFactory() {
+		return EjbPackage.eINSTANCE.getEjbFactory();
+	}
+
+	public ApplicationFactory getApplicationFactory() {
+		return ApplicationPackage.eINSTANCE.getApplicationFactory();
+	}
+
+	public WebapplicationFactory getWebAppFactory() {
+		return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+	}
+
+	public static void main(java.lang.String[] args) {
+		String[] className = { "com.ibm.etools.archive.test.RarEMFTest", "-noloading" };
+		TestRunner.main(className);
+	}
+	public static junit.framework.Test suite() {
+		TestSuite suite = new TestSuite();
+		suite.addTest(new RarEMFTest("testRARPopulation"));
+		suite.addTest(new RarEMFTest("test14RARPopulation"));
+		return suite;
+	}
+
+	public void testRARPopulation() throws Exception {
+		EMFAttributeFeatureGenerator.reset();
+		createEAR();
+		createRAR();
+
+		ConnectorResource DD = (ConnectorResource) rarFile.getDeploymentDescriptorResource();
+		//TODO: individual test for each version
+		DD.setVersionID(J2EEVersionConstants.J2EE_1_3_ID);
+		setVersion(VERSION_1_3);
+		setModuleType(CONNECTOR);
+		populateRoot(DD.getRootObject());
+
+		String out = AutomatedBVT.baseDirectory + "testOutput/TestRarEAR";
+		earFile.extractTo(out, Archive.EXPAND_ALL);
+		earFile.close();
+
+		//Compare work in progress
+		String curDir = AutomatedBVT.baseDirectory;
+		String exampleDeploymentDesURI = curDir + "EMFTestNoID/ra.xml";
+		String curDeploymentDesURI = curDir + "testOutput/TestRarEAR/fooRAR/META-INF/ra.xml";
+		setIgnoreAtt(ignorableAttributes());
+		compareContentsIgnoreWhitespace(curDeploymentDesURI, exampleDeploymentDesURI, null);
+	}
+	public void test14RARPopulation() throws Exception {
+		EMFAttributeFeatureGenerator.reset();
+		createEAR();
+		createRAR();
+
+		ConnectorResource DD = (ConnectorResource) rarFile.getDeploymentDescriptorResource();
+		//TODO: individual test for each version
+		DD.setVersionID(J2EEVersionConstants.J2EE_1_4_ID);
+		setVersion(VERSION_1_4);
+		setModuleType(CONNECTOR);
+		populateRoot(DD.getRootObject());
+
+		String out = AutomatedBVT.baseDirectory + "testOutput/Test14RarEAR";
+		earFile.extractTo(out, Archive.EXPAND_ALL);
+		earFile.close();
+
+		getRar();
+		assertTrue("1.5".equals(rarFile.getDeploymentDescriptor().getSpecVersion()));
+		out = AutomatedBVT.baseDirectory + "testOutput/Test14RarEAR2";
+		rarFile.extractTo(out, Archive.EXPAND_ALL);
+		rarFile.close();
+
+		//Compare work in progress
+		String curDir = AutomatedBVT.baseDirectory;
+		String exampleDeploymentDesURI = curDir + "testOutput/Test14RarEAR2/META-INF/ra.xml";
+		String curDeploymentDesURI = curDir + "testOutput/Test14RarEAR/fooRAR/META-INF/ra.xml";
+		setIgnoreAtt(ignorableAttributes());
+		compareContentsIgnoreWhitespace(curDeploymentDesURI, exampleDeploymentDesURI, null);
+	}
+
+	public void getRar() throws DuplicateObjectException, OpenFailureException {
+		String in = AutomatedBVT.baseDirectory + "testOutput/Test14RarEAR/fooRAR";
+		rarFile = getArchiveFactory().openRARFile(in);
+		assertTrue(rarFile.getDeploymentDescriptor() != null);
+	}
+
+	public void createRAR() throws DuplicateObjectException {
+		rarFile = getArchiveFactory().createRARFileInitialized("fooRAR");
+		rarFile = (RARFile) earFile.addCopy(rarFile);
+		rarFile.getDeploymentDescriptor().setDisplayName("fooRAR");
+		assertTrue(rarFile.getDeploymentDescriptor() != null);
+	}
+
+	public void createEAR() {
+		String earName = "Test.ear";
+		earFile = getArchiveFactory().createEARFileInitialized(earName);
+		assertTrue(earFile.getDeploymentDescriptor() != null);
+	}
+
+	public HashSet ignorableAttributes() {
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+
+	/* (non-Javadoc)
+	 * @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#createAttributeValue(org.eclipse.emf.ecore.EAttribute)
+	 */
+	protected Object createAttributeValue(EAttribute att, EObject eObject) {
+		//TODO: delete this after the model is fixed
+		if (att == JcaPackage.eINSTANCE.getConfigProperty_Type())
+			return "java.lang.String";
+		else if (att == JcaPackage.eINSTANCE.getAuthenticationMechanism_CredentialInterface())
+			return "javax.resource.spi.security.PasswordCredential";
+		else if (att == JcaPackage.eINSTANCE.getConnector_SpecVersion() && version == VERSION_1_3)
+			return "1.0";
+		else
+			return super.createAttributeValue(att, eObject);
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java
new file mode 100644
index 0000000..b8d1d55
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/ResolverTest.java
@@ -0,0 +1,290 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+import java.util.List;
+
+import junit.framework.TestSuite;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
+import org.eclipse.jst.j2ee.common.CommonFactory;
+import org.eclipse.jst.j2ee.common.SecurityIdentity;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.CMPAttribute;
+import org.eclipse.jst.j2ee.ejb.EJBResource;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.ejb.RoleSource;
+import org.eclipse.jst.j2ee.ejb.impl.MethodPermissionImpl;
+import org.eclipse.jst.j2ee.ejb.impl.QueryMethodImpl;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.wst.common.internal.emf.resource.RendererFactory;
+
+
+public class ResolverTest extends GeneralEMFEditingTest {
+
+    protected static final String _META_INF_EJB_JAR_XML = "/META-INF/ejb-jar.xml";
+
+    protected static final EjbPackage EJB_PKG = EjbPackage.eINSTANCE;
+
+    EARFile earFile;
+
+    EJBJarFile ejbFile;
+
+    EObject mesBean, entityBean;
+
+    SecurityIdentity secID;
+
+    RoleSource roleSource;
+
+    int NUM_BEANS = 10;
+
+    final int NUM_RELATION_ROLES = 2;
+
+    int createdBeans = 0;
+
+    int createdSecRoles = 0;
+
+    protected int createdSecurityIdentities = 0;
+
+    boolean mpFlag = false;
+
+    public ResolverTest(String name) {
+        super(name);
+    }
+
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+
+    public EjbFactory getEjbFactory() {
+        return EjbPackage.eINSTANCE.getEjbFactory();
+    }
+
+    public ApplicationFactory getApplicationFactory() {
+        return ApplicationPackage.eINSTANCE.getApplicationFactory();
+    }
+
+    public WebapplicationFactory getWebAppFactory() {
+        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    }
+
+    public static void main(java.lang.String[] args) {
+        junit.textui.TestRunner.main(new String[] { ResolverTest.class.getName()});
+    }
+
+    public static junit.framework.Test suite() {
+        TestSuite suite = new TestSuite();
+        /*suite.addTest(new AllSAXTests("testSwitchRenderer"));*/
+        suite.addTest(new ResolverTest("testResolver"));
+        suite.addTest(new ResolverTest("testResolverNoSchemaLocation"));
+        return suite;
+    }
+
+    public void testResolver() throws Exception {
+        String in = AutomatedBVT.baseDirectory + "../testData/sl";
+        getEJB(in);
+
+        assertEquals("2.1", ejbFile.getDeploymentDescriptor().getVersion());
+        EJBResource DD = (EJBResource) ejbFile.getDeploymentDescriptorResource();
+        setVersion(VERSION_1_4);
+        setModuleType(EJB);
+
+        String out = AutomatedBVT.baseDirectory + "../testData/testOutput/sl";
+        ejbFile.extractTo(out, Archive.EXPAND_ALL);
+        ejbFile.close();
+
+        String exampleDeploymentDesURI = in + _META_INF_EJB_JAR_XML;
+        String curDeploymentDesURI = out + _META_INF_EJB_JAR_XML;
+        compareContents(curDeploymentDesURI, exampleDeploymentDesURI);
+    }
+
+    public void testResolverNoSchemaLocation() throws Exception {
+
+        boolean validating = RendererFactory.getDefaultRendererFactory().isValidating();
+        try { 
+            RendererFactory.getDefaultRendererFactory().setValidating(false);
+            
+            String in = AutomatedBVT.baseDirectory + "../testData/no-sl";
+            getEJB(in);
+
+            assertEquals("2.1", ejbFile.getDeploymentDescriptor().getVersion());
+            EJBResource DD = (EJBResource) ejbFile.getDeploymentDescriptorResource();
+            setVersion(VERSION_1_4);
+            setModuleType(EJB);
+
+            String out = AutomatedBVT.baseDirectory + "../testData/testOutput/no-sl";
+            ejbFile.extractTo(out, Archive.EXPAND_ALL);
+            ejbFile.close();
+
+            String exampleDeploymentDesURI = in + _META_INF_EJB_JAR_XML;
+            String curDeploymentDesURI = out + _META_INF_EJB_JAR_XML;
+            compareContents(curDeploymentDesURI, exampleDeploymentDesURI);
+        } catch (RuntimeException re) {
+            re.printStackTrace();
+        } finally {
+            RendererFactory.getDefaultRendererFactory().setValidating(validating);
+        }
+    }
+
+    public void getEJB(String in) throws DuplicateObjectException, OpenFailureException {
+        ejbFile = getArchiveFactory().openEJBJarFile(in);
+        assertTrue(ejbFile.getDeploymentDescriptor() != null);
+    }
+
+    public EObject createInstance(EClass eClassifier) {
+        if (eClassifier.getName().equals("EnterpriseBean")) {
+            createdBeans++;
+            switch (createdBeans) {
+            case (3):
+                return createContainerManagedEntityInstance(eClassifier);
+            case (7):
+                return createMessageBeanInstance(eClassifier);
+            case (4):
+            case (8):
+                return createSessionBeanInstance(eClassifier);
+            default:
+                return createEntityBeanInstance(eClassifier);
+            }
+        } else if (eClassifier.getName().equals("SecurityIdentity"))
+            return createSecurityIdentitiyInstance(eClassifier);
+        else if (eClassifier.getName().equals("RoleSource"))
+            return createRoleSourceInstance(eClassifier);
+        else if (eClassifier == EcorePackage.eINSTANCE.getEAttribute()) return getEjbFactory().createCMPAttribute();
+        return super.createInstance(eClassifier);
+    }
+
+    private EObject createSecurityIdentitiyInstance(EClass eClassifier) {
+        /* Alternate types */
+        createdSecRoles++;
+        if ((createdSecRoles & 1) == 0)
+            return CommonFactory.eINSTANCE.createUseCallerIdentity();
+        else
+            return CommonFactory.eINSTANCE.createRunAsSpecifiedIdentity();
+    }
+
+    private EObject createRoleSourceInstance(EClass eClassifier) {
+        return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createRoleSource();
+    }
+
+    private EObject createMessageBeanInstance(EClass eClassifier) {
+        return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createMessageDriven();
+    }
+
+    private EObject createSessionBeanInstance(EClass eClassifier) {
+        return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createSession();
+    }
+
+    private EObject createEntityBeanInstance(EClass eClassifier) {
+        return ((EjbFactory) eClassifier.getEPackage().getEFactoryInstance()).createEntity();
+    }
+
+    private EObject createContainerManagedEntityInstance(EClass eClassifier) {
+        return EjbFactory.eINSTANCE.createContainerManagedEntity();
+    }
+
+    /**
+     * @see org.eclipse.jst.j2ee.archive.test.GeneralEMFTest#getDepthForAttribute(EReference)
+     */
+    public int getDepthForAttribute(EReference ref) {
+        if (ref.getName().equals("enterpriseBeans"))
+            return NUM_BEANS;
+        else if (ref.getName().equals("entityBeans"))
+            return NUM_BEANS;
+        else if (ref.getName().equals("relationshipRoles")) return NUM_RELATION_ROLES;
+        return super.getDepthForAttribute(ref);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#populateFeatures(org.eclipse.emf.ecore.EObject)
+     */
+    public void populateFeatures(EObject eObject) {
+        if (eObject.eClass() == EJB_PKG.getCMPAttribute()) {
+            ((CMPAttribute) eObject).setName((String) EMFAttributeFeatureGenerator.createAttribute(
+                    EcorePackage.eINSTANCE.getENamedElement_Name(), eObject));
+            ((CMPAttribute) eObject).setEType((EClassifier) createJavaClassProxy(null));
+        } else
+            super.editFeatures(eObject);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#populateAttributes(org.eclipse.emf.ecore.EObject)
+     */
+    protected void populateAttributes(EObject eObject) {
+        if (eObject instanceof QueryMethodImpl) {
+            List attributes = eObject.eClass().getEAllAttributes();
+            for (int i = 0; i < attributes.size(); i++) {
+                EAttribute att = (EAttribute) attributes.get(i);
+                Object value = createAttributeValue(att, eObject);
+                if (att.getName().equals("parms") && value == null) {
+                    value = createAttributeValue(att, eObject);
+                }
+                if (att.isChangeable()) eObject.eSet(att, value);
+            }
+        } else if (eObject instanceof MethodPermissionImpl) {
+            List attributes = eObject.eClass().getEAllAttributes();
+            for (int i = 0; i < attributes.size(); i++) {
+                EAttribute att = (EAttribute) attributes.get(i);
+                if (att.getName().equals("unchecked") && mpFlag) {
+                    continue;
+                }
+
+                Object value = createAttributeValue(att, eObject);
+                if (att.isChangeable()) eObject.eSet(att, value);
+            }
+            mpFlag = !mpFlag;
+        } else
+            super.editAttributes(eObject);
+    }
+
+    protected void populateSharedReference(EObject eObject, EReference ref) {
+        if (eObject instanceof MethodPermissionImpl && ref.getName().equals("roles")) {
+            mpFlag = !mpFlag;
+            //if method permission unchecked ignore roles
+            if (!mpFlag) { return; }
+        }
+        super.populateSharedReference(eObject, ref);
+    }
+
+    public HashSet ignorableAttributes() {
+        HashSet set = new HashSet();
+        set.add("id");
+        return set;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see junit.framework.TestCase#tearDown()
+     */
+    protected void tearDown() throws Exception {
+        earFile = null;
+        ejbFile = null;
+        mesBean = null;
+        entityBean = null;
+        secID = null;
+        roleSource = null;
+
+        super.tearDown();
+    }
+
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java
new file mode 100644
index 0000000..c26781f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFEditTest.java
@@ -0,0 +1,163 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+import java.util.List;
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.webapplication.ErrorPage;
+import org.eclipse.jst.j2ee.webapplication.WebAppResource;
+import org.eclipse.jst.j2ee.webapplication.WebType;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.jst.j2ee.webapplication.impl.FilterMappingImpl;
+
+
+public class WarEMFEditTest extends GeneralEMFEditingTest {
+	protected EARFile earFile;	
+	protected WARFile warFile;
+	protected int createdWebTypes = 0;
+	protected int createdErrorPages = 0;
+	protected boolean fmFlag = false;
+
+    public WarEMFEditTest(String name) {
+        super(name);
+    }
+
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+
+    public EjbFactory getEjbFactory() {
+        return EjbPackage.eINSTANCE.getEjbFactory();
+    }
+
+    public ApplicationFactory getApplicationFactory() {
+        return ApplicationPackage.eINSTANCE.getApplicationFactory();
+    }
+
+    public WebapplicationFactory getWebAppFactory() {
+        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    }
+
+    public static void main(java.lang.String[] args) {
+        String[] className = { "com.ibm.etools.archive.test.WarEMFTest", "-noloading" };
+        TestRunner.main(className);
+    }
+    public static junit.framework.Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(new WarEMFEditTest("testWAREdit"));
+        return suite;
+    }
+
+    public void testWAREdit() throws Exception {
+        getWARClient();
+
+        WebAppResource DD = (WebAppResource) warFile.getDeploymentDescriptorResource();
+		setVersion(VERSION_1_3);
+		setModuleType(WEB); 
+        editRoot(DD.getRootObject());
+
+        String out = "editOutput/EMFModelCreationTests/EditWarEAR";
+        warFile.extractTo(out, Archive.EXPAND_ALL);
+        warFile.close();
+
+        //Compare work in progress
+        String curDir = AutomatedBVT.baseDirectory;
+        String exampleDeploymentDesURI = curDir + "EMFTests/web.xml";
+        String curDeploymentDesURI = curDir + out + "/fooWAR/WEB-INF/web.xml";
+        //compareContents(curDeploymentDesURI, exampleDeploymentDesURI);
+    }
+
+    public void getWARClient() throws DuplicateObjectException, OpenFailureException {
+        String in = AutomatedBVT.baseDirectory + "loose_module_workspace/LooseEARWeb/webApplication/";
+        warFile = getArchiveFactory().openWARFile(in);
+        assertTrue(warFile.getDeploymentDescriptor() != null);
+    }
+	public EObject createInstance(EClass eClassifier) {
+
+		if (WebapplicationPackage.eINSTANCE.getWebType().equals(eClassifier))
+			return createWebType();
+		else if (WebapplicationPackage.eINSTANCE.getErrorPage().equals(eClassifier))
+			return createErrorPage();
+
+		return super.createInstance(eClassifier);
+	}
+	/* The web type is abstract.  Alternate between servlet-class
+	 * and jsp-file
+	 */
+	public WebType createWebType() {
+		createdWebTypes++;
+		if ((createdWebTypes & 1) == 0)
+			return WebapplicationFactory.eINSTANCE.createServletType();
+		else
+			return WebapplicationFactory.eINSTANCE.createJSPType();
+
+	}
+	/* The error page is abstract.  Alternate between exceptiontype
+	 * and error code
+	 */
+	public ErrorPage createErrorPage() {
+		createdErrorPages++;
+		if ((createdErrorPages & 1) == 0)
+			return WebapplicationFactory.eINSTANCE.createErrorCodeErrorPage();
+		else
+			return WebapplicationFactory.eINSTANCE.createExceptionTypeErrorPage();
+	}
+	/* (non-Javadoc)
+	 * @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#populateAttributes(org.eclipse.emf.ecore.EObject)
+	 */
+	protected void populateAttributes(EObject eObject) {
+		if (eObject instanceof FilterMappingImpl){
+			List attributes = eObject.eClass().getEAllAttributes();
+			for (int i = 0; i < attributes.size(); i++) {
+				EAttribute att = (EAttribute) attributes.get(i);
+				if(att.getName().equals("urlPattern") && fmFlag){
+					continue;					
+				}	
+				
+				Object value = createAttributeValue(att, eObject);
+				if (att.isChangeable())
+					eObject.eSet(att, value);
+			} 
+			fmFlag = !fmFlag;
+		}
+		else 
+			super.editAttributes(eObject);
+	}
+	
+
+	protected void populateSharedReference(EObject eObject, EReference ref) {
+		if(eObject instanceof FilterMappingImpl && ref.getName().equals("servlet")){
+			fmFlag = !fmFlag;
+			//if method permission unchecked ignore roles
+			if(!fmFlag){
+				return;
+			}
+		}
+		super.populateSharedReference(eObject, ref);
+	}
+	
+	public HashSet ignorableAttributes(){
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java
new file mode 100644
index 0000000..c7c1154
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WarEMFTest.java
@@ -0,0 +1,235 @@
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+
+import junit.framework.TestSuite;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
+import org.eclipse.jst.j2ee.common.ResAuthTypeBase;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.webapplication.ErrorPage;
+import org.eclipse.jst.j2ee.webapplication.WebAppResource;
+import org.eclipse.jst.j2ee.webapplication.WebType;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.jst.j2ee.webapplication.impl.FilterMappingImpl;
+
+
+public class WarEMFTest extends GeneralEMFPopulationTest {
+    protected EARFile earFile;
+    protected WARFile warFile;
+    protected int createdWebTypes = 0;
+    protected int createdErrorPages = 0;
+	protected boolean fmFlag = false;
+    public WarEMFTest(String name) {
+        super(name);
+    }
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+
+    public EjbFactory getEjbFactory() {
+        return EjbPackage.eINSTANCE.getEjbFactory();
+    }
+
+    public ApplicationFactory getApplicationFactory() {
+        return ApplicationPackage.eINSTANCE.getApplicationFactory();
+    }
+
+    public WebapplicationFactory getWebAppFactory() {
+        return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+    }
+
+    public static void main(java.lang.String[] args) {
+        
+        junit.textui.TestRunner.main(new String[]{ WarEMFTest.class.getName() });
+    }
+    public static junit.framework.Test suite() {
+        TestSuite suite = new TestSuite();
+        suite.addTest(new WarEMFTest("testWARPopulation"));
+		suite.addTest(new WarEMFTest("test14WARPopulation"));
+        return suite;
+    }
+
+    public void testWARPopulation() throws Exception {
+        EMFAttributeFeatureGenerator.reset();
+        createEAR();
+        createWARClient();
+
+        WebAppResource DD = (WebAppResource) warFile.getDeploymentDescriptorResource();
+        DD.setVersionID(J2EEVersionConstants.J2EE_1_3_ID);
+		//TODO: individual test for each version
+		setVersion(VERSION_1_3);
+		setModuleType(WEB);
+        populateRoot(DD.getRootObject());
+
+		String out = AutomatedBVT.baseDirectory +"testOutput/TestWarEAR";
+        earFile.extractTo(out, Archive.EXPAND_ALL);
+        earFile.close();
+
+        //Compare work in progress
+        String curDir = AutomatedBVT.baseDirectory;
+        String exampleDeploymentDesURI = curDir + "EMFTestNoID/web.xml";
+        String curDeploymentDesURI = curDir + "testOutput/TestWarEAR/fooWAR/WEB-INF/web.xml";
+		setIgnoreAtt(ignorableAttributes());
+		setEquivalentLines(getEquivalentLinesMap());
+		compareContentsIgnoreWhitespace(curDeploymentDesURI, exampleDeploymentDesURI, null);
+    }
+    
+	public void test14WARPopulation() throws Exception {
+		EMFAttributeFeatureGenerator.reset();
+		createEAR();
+		createWARClient();
+
+		WebAppResource DD = (WebAppResource) warFile.getDeploymentDescriptorResource();
+		DD.setVersionID(J2EEVersionConstants.J2EE_1_4_ID);
+		//TODO: individual test for each version
+		setVersion(VERSION_1_4);
+		setModuleType(WEB);
+		//setGeneralDepth(2);
+		populateRoot(DD.getRootObject());
+
+		String out = AutomatedBVT.baseDirectory +"testOutput/TestWarEAR14";
+		earFile.extractTo(out, Archive.EXPAND_ALL);
+		earFile.close();
+		
+		getWARClient();
+		assertEquals("2.4", warFile.getDeploymentDescriptor().getVersion());
+		out = AutomatedBVT.baseDirectory +"testOutput/TestWarEAR14_2";
+		warFile.extractTo(out, Archive.EXPAND_ALL);
+		warFile.close();
+
+		//Compare work in progress
+		String curDir = AutomatedBVT.baseDirectory;
+		String exampleDeploymentDesURI = out + "/WEB-INF/web.xml";
+		String curDeploymentDesURI = curDir + "testOutput/TestWarEAR14/fooWAR/WEB-INF/web.xml";
+		setIgnoreAtt(ignorableAttributes());
+		compareContentsIgnoreWhitespace(curDeploymentDesURI, exampleDeploymentDesURI, null);
+	}
+	
+	/**
+	 * @return
+	 */
+	private Map getEquivalentLinesMap() {
+		Map lines = new HashMap();
+		lines.put("<distributable></distributable>", "<distributable/>"); 
+		return lines;
+	}
+
+    public void createWARClient() throws DuplicateObjectException {
+        warFile = getArchiveFactory().createWARFileInitialized("fooWAR");
+        warFile = (WARFile) earFile.addCopy(warFile);
+        warFile.getDeploymentDescriptor().setDisplayName("fooWAR");
+        assertTrue(warFile.getDeploymentDescriptor() != null);
+    }
+
+    public void createEAR() {
+        String earName = "Test.ear";
+        earFile = getArchiveFactory().createEARFileInitialized(earName);
+        assertTrue(earFile.getDeploymentDescriptor() != null);
+    }
+    
+	public void getWARClient() throws DuplicateObjectException, OpenFailureException {
+		String in = AutomatedBVT.baseDirectory + "testOutput/TestWarEAR14/fooWAR";
+		warFile = getArchiveFactory().openWARFile(in);
+		assertTrue(warFile.getDeploymentDescriptor() != null);
+	}
+
+    public EObject createInstance(EReference ref,EObject eObject) {
+
+        if (WebapplicationPackage.eINSTANCE.getWebType().equals((EClass)ref.getEType()))
+            return createWebType();
+        else if (WebapplicationPackage.eINSTANCE.getErrorPage().equals((EClass)ref.getEType()))
+            return createErrorPage();
+
+        return super.createInstance(ref, eObject);
+    }
+    /* The web type is abstract.  Alternate between servlet-class
+     * and jsp-file
+     */
+    public WebType createWebType() {
+        createdWebTypes++;
+        if ((createdWebTypes & 1) == 0)
+            return WebapplicationFactory.eINSTANCE.createServletType();
+        else
+            return WebapplicationFactory.eINSTANCE.createJSPType();
+
+    }
+    /* The error page is abstract.  Alternate between exceptiontype
+     * and error code
+     */
+    public ErrorPage createErrorPage() {
+        createdErrorPages++;
+        if ((createdErrorPages & 1) == 0)
+            return WebapplicationFactory.eINSTANCE.createErrorCodeErrorPage();
+        else
+            return WebapplicationFactory.eINSTANCE.createExceptionTypeErrorPage();
+    }
+	/* (non-Javadoc)
+	 * @see com.ibm.etools.archive.emftest.GeneralEMFPopulationTest#populateAttributes(org.eclipse.emf.ecore.EObject)
+	 */
+	protected void populateAttributes(EObject eObject) {
+		if (eObject instanceof FilterMappingImpl){
+			List attributes = eObject.eClass().getEAllAttributes();
+			for (int i = 0; i < attributes.size(); i++) {
+				EAttribute att = (EAttribute) attributes.get(i);
+				if(att.getName().equals("urlPattern") && fmFlag){
+					continue;					
+				}	
+				
+				Object value = createAttributeValue(att, eObject);
+				if (att.isChangeable())
+					eObject.eSet(att, value);
+			} 
+			fmFlag = !fmFlag;
+		}
+		else 
+			super.populateAttributes(eObject);
+	}
+	
+
+	protected void populateSharedReference(EObject eObject, EReference ref) {
+		if(eObject instanceof FilterMappingImpl && ref.getName().equals("servlet")){
+			fmFlag = !fmFlag;
+			//if method permission unchecked ignore roles
+			if(!fmFlag){
+				return;
+			}
+		}
+		super.populateSharedReference(eObject, ref);
+	}
+	
+	public HashSet ignorableAttributes(){
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+
+
+	protected boolean isValidAuth(ResAuthTypeBase auth) {
+		if (version == VERSION_1_2)
+			return auth == ResAuthTypeBase.SERVLET_LITERAL || auth == ResAuthTypeBase.CONTAINER_LITERAL;
+		else
+			return super.isValidAuth(auth);
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WebServicesEMFTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WebServicesEMFTest.java
new file mode 100644
index 0000000..d13bad6
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/emftests/WebServicesEMFTest.java
@@ -0,0 +1,161 @@
+/*
+ * Created on Aug 6, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.archive.emftests;
+
+import java.util.HashSet;
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jst.j2ee.application.ApplicationFactory;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.archive.testutilities.EMFAttributeFeatureGenerator;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DuplicateObjectException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.OpenFailureException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+import org.eclipse.jst.j2ee.webservice.wsclient.WebServicesResource;
+import org.eclipse.jst.j2ee.webservice.wsclient.Webservice_clientPackage;
+import org.eclipse.jst.j2ee.webservice.wsdd.WsddFactory;
+import org.eclipse.jst.j2ee.webservice.wsdd.WsddResource;
+
+
+/**
+ * @author dfholttp
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class WebServicesEMFTest extends GeneralEMFPopulationTest {
+	EARFile earFile;
+	EJBJarFile ejbFile;
+	int currentVersion = J2EEVersionConstants.J2EE_1_3_ID;
+
+	public WebServicesEMFTest(String name) {
+		super(name);
+	}
+
+	public CommonarchiveFactory getArchiveFactory() {
+		return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+	}
+
+	public EjbFactory getEjbFactory() {
+		return EjbPackage.eINSTANCE.getEjbFactory();
+	}
+
+	public ApplicationFactory getApplicationFactory() {
+		return ApplicationPackage.eINSTANCE.getApplicationFactory();
+	}
+
+	public WebapplicationFactory getWebAppFactory() {
+		return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+	}
+
+	public static void main(java.lang.String[] args) {
+		String[] className = { "com.ibm.etools.archive.test.WebServicesEMFTest", "-noloading" };
+		TestRunner.main(className);
+	}
+	public static junit.framework.Test suite() {
+		TestSuite suite = new TestSuite();
+		suite.addTest(new WebServicesEMFTest("test13WebServicesClientPopulation"));
+		suite.addTest(new WebServicesEMFTest("test13WebServicesDDPopulation"));
+		suite.addTest(new WebServicesEMFTest("test14WebServicesDDPopulation"));
+		return suite;
+	}
+	
+	public void test13WebServicesClientPopulation() throws Exception {
+		currentVersion = J2EEVersionConstants.J2EE_1_3_ID;
+		EMFAttributeFeatureGenerator.reset();
+		createEAR();
+		createEJB();
+		
+
+		WebServicesResource webserDD = (WebServicesResource)ejbFile.getResourceSet().createResource(URI.createURI("META-INF/webservicesclient.xml"));
+		webserDD.getContents().add(Webservice_clientPackage.eINSTANCE.getWebservice_clientFactory().createWebServicesClient());
+		//TODO: individual test for each version
+		webserDD.setVersionID(currentVersion);
+		populateRoot(webserDD.getRootObject());
+		
+		String out = AutomatedBVT.baseDirectory +getProjectLocation();
+		earFile.extractTo(out, Archive.EXPAND_ALL);
+		earFile.close();
+
+	}
+	
+	public void test13WebServicesDDPopulation() throws Exception {
+		EMFAttributeFeatureGenerator.reset();
+		currentVersion = J2EEVersionConstants.J2EE_1_3_ID;
+		createEAR();
+		createEJB();
+
+		WsddResource webserDD = (WsddResource)ejbFile.getResourceSet().createResource(URI.createURI("META-INF/webservices.xml"));
+		webserDD.getContents().add(WsddFactory.eINSTANCE.createWebServices());
+		//TODO: individual test for each version
+		webserDD.setVersionID(currentVersion);
+		populateRoot(webserDD.getRootObject());
+		
+		String out = AutomatedBVT.baseDirectory +getProjectLocation();
+		earFile.extractTo(out, Archive.EXPAND_ALL);
+		earFile.close();
+
+	}
+	public void test14WebServicesDDPopulation() throws Exception {
+		EMFAttributeFeatureGenerator.reset();
+		currentVersion = J2EEVersionConstants.J2EE_1_4_ID;
+		createEAR();
+		createEJB();
+
+		WsddResource webserDD = (WsddResource)ejbFile.getResourceSet().createResource(URI.createURI("META-INF/webservices.xml"));
+		webserDD.getContents().add(WsddFactory.eINSTANCE.createWebServices());
+		//TODO: individual test for each version
+		webserDD.setVersionID(currentVersion);
+		populateRoot(webserDD.getRootObject());
+		
+		String out = AutomatedBVT.baseDirectory +getProjectLocation();
+		earFile.extractTo(out, Archive.EXPAND_ALL);
+		earFile.close();
+
+	}
+	public String getProjectLocation() {
+		if (currentVersion == J2EEVersionConstants.J2EE_1_3_ID)
+			return "testOutput/TestWebServices";
+		else
+			return "testOutput/TestWebServices14";
+	}
+	public void getEJB() throws DuplicateObjectException, OpenFailureException {
+		String in = AutomatedBVT.baseDirectory +getProjectLocation() +"/fooWebServices";
+		ejbFile = getArchiveFactory().openEJBJarFile(in);
+		assertTrue(ejbFile.getDeploymentDescriptor() != null);
+	}
+	public void createEJB() throws DuplicateObjectException {
+		ejbFile = getArchiveFactory().createEJBJarFileInitialized("fooWebServices");
+		ejbFile = (EJBJarFile) earFile.addCopy(ejbFile);
+		ejbFile.getDeploymentDescriptor().setDisplayName("fooWebServices");
+		assertTrue(ejbFile.getDeploymentDescriptor() != null);
+	}
+	public void createEAR() {
+		String earName = "Test.ear";
+		earFile = getArchiveFactory().createEARFileInitialized(earName);
+		assertTrue(earFile.getDeploymentDescriptor() != null);
+	}
+    
+	public HashSet ignorableAttributes(){
+		HashSet set = new HashSet();
+		set.add("id");
+		return set;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/AbstractArchiveTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/AbstractArchiveTest.java
new file mode 100644
index 0000000..491a319
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/AbstractArchiveTest.java
@@ -0,0 +1,84 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+ /*
+ * Licensed Material - Property of IBM
+ * (C) Copyright IBM Corp. 2001 - All Rights Reserved.
+ * US Government Users Restricted Rights - Use, duplication or disclosure
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
+ */
+
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+/**
+ * Insert the type's description here.
+ * Creation date: (02/07/01 1:48:18 PM)
+ * @author: Administrator
+ */
+public class AbstractArchiveTest extends junit.framework.TestCase {
+	private final static String copyright = "(c) Copyright IBM Corporation 2001.";//$NON-NLS-1$
+/**
+ * AbstractArchiveTest constructor comment.
+ * @param name java.lang.String
+ */
+public AbstractArchiveTest(String name) {
+	super(name);
+}
+public Set getAllUnresolvedProxies(EObject root) {
+	Set visited = new HashSet();
+	Set proxies = new HashSet();
+	getAllUnresolvedProxies(root, proxies, visited, root.eResource());
+	return proxies;
+}
+public void getAllUnresolvedProxies(EObject object, Set proxies, Set visitedObjects, Resource originalResource) {
+
+	if (visitedObjects.contains(object))
+		return;
+	else
+		visitedObjects.add(object);
+
+	if (object.eResource() != originalResource) {
+		if (((org.eclipse.emf.ecore.InternalEObject )object).eIsProxy()) {
+			proxies.add(object);
+		}
+		return;
+	}
+
+	List refs = object.eClass().getEAllReferences();
+	if (refs != null) {
+		Iterator ir = refs.iterator();
+		while (ir.hasNext()) {
+			EReference r = (EReference) ir.next();
+			Object value = object.eGet(r);
+			if (value == null)
+				continue;
+
+			if (r.isMany()) {
+				Collection c = (Collection) value;
+				Iterator ir2 = c.iterator();
+				while (ir2.hasNext()) {
+					EObject refObj = (EObject) ir2.next();
+					getAllUnresolvedProxies(refObj, proxies, visitedObjects, originalResource);
+				}
+			} else
+				getAllUnresolvedProxies((EObject) value, proxies, visitedObjects, originalResource);
+		}
+	}
+}
+public static CommonarchiveFactory getArchiveFactory() {
+	return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+}
+public void verifyProxies(EObject root) {
+
+	Set proxies = getAllUnresolvedProxies(root);
+	assertTrue("Some proxies could not be resolved", proxies.isEmpty());
+}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/AllArchiveTestsEclipse.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/AllArchiveTestsEclipse.java
new file mode 100644
index 0000000..449fc6e
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/AllArchiveTestsEclipse.java
@@ -0,0 +1,20 @@
+/*
+ * Created on Apr 18, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.archive.test;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class AllArchiveTestsEclipse extends AllArchiveTestsJava {
+
+    public AllArchiveTestsEclipse(String name) {
+        super(name);
+    }
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/AllArchiveTestsJava.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/AllArchiveTestsJava.java
new file mode 100644
index 0000000..1a6c8eb
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/AllArchiveTestsJava.java
@@ -0,0 +1,58 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+ /*
+ * Licensed Material - Property of IBM
+ * (C) Copyright IBM Corp. 2001 - All Rights Reserved.
+ * US Government Users Restricted Rights - Use, duplication or disclosure
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
+ */
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+/**
+ * Insert the type's description here.
+ * Creation date: (12/19/00 4:44:04 PM)
+ * @author: Administrator
+ */
+public class AllArchiveTestsJava extends TestCase {
+	private final static String copyright = "(c) Copyright IBM Corporation 2001.";//$NON-NLS-1$
+/**
+ * AllTests constructor comment.
+ * @param name java.lang.String
+ */
+public AllArchiveTestsJava(String name) {
+	super(name);
+}
+/**
+ * Starts the application.
+ * @param args an array of command-line arguments
+ */
+public static void main(java.lang.String[] args) {
+	String[] className = {"com.ibm.etools.archive.test.AllTests", "-noloading"};
+	TestRunner.main(className);
+}
+public static junit.framework.Test suite() {
+	TestSuite suite = new TestSuite("Test for com.ibm.etools.archive.test");
+	suite.addTest(DiscriminatorTest.suite());
+	suite.addTest(LooseArchiveTests.suite());
+	suite.addTest(InitializationTests.suite());
+	suite.addTest(SimpleTests.suite());
+	suite.addTest(CopyTests.suite());
+//	suite.addTest(EJBJarConversionTests.suite());
+	suite.addTest(WARFileTests.suite());
+	suite.addTest(SaveTests.suite());
+	suite.addTest(JavaTests.suite());
+//	suite.addTest(IDTests.suite());
+	//suite.addTest(AltDDTests.suite());
+	suite.addTest(SecurityRoleTests.suite());
+	suite.addTest(RarFileTests.suite());
+	suite.addTest(ResourceTests.suite());
+	suite.addTest(ClientContainerResourceLoadTest.suite());
+	suite.addTest(TestModuleClassLoading.suite());
+	suite.addTest(TestInvalidXmlMultiplicity.suite());
+	suite.addTest(DefectVerificationTests.suite());
+	
+	return suite;
+}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/ClientContainerResourceLoadTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/ClientContainerResourceLoadTest.java
new file mode 100644
index 0000000..5ed8198
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/ClientContainerResourceLoadTest.java
@@ -0,0 +1,106 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+import java.io.FileNotFoundException;
+import java.util.List;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ResourceLoadException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveInit;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+
+
+
+public class ClientContainerResourceLoadTest extends TestCase{
+	public static EARFile earFile = null;
+	
+	private final static String copyright = "(c) Copyright IBM Corporation 2001."; //$NON-NLS-1$
+	/**
+	 * SimpleTests constructor comment.
+	 * @param name java.lang.String
+	 */
+	public ClientContainerResourceLoadTest(String name) {
+		super(name);
+	}
+
+	protected void setUp() throws Exception {
+		// TODO Auto-generated method stub
+		super.setUp();
+		ArchiveInit.init();
+	}
+
+	
+	public static junit.framework.Test suite() {
+		return new TestSuite(ClientContainerResourceLoadTest.class);
+	}
+	/**
+	 * Starts the application.
+	 * @param args an array of command-line arguments
+	 */
+	public static void main(java.lang.String[] args) {
+		String[] className = { "com.ibm.etools.archive.test.ClientContainerResourceLoadTest", "-noloading" };
+		TestRunner.main(className);
+	}
+	
+	public void testClientContainerLoad () throws Exception {
+
+		try {
+
+			CommonarchiveFactory factory = CommonarchiveFactoryImpl.getActiveFactory();
+			String in = AutomatedBVT.baseDirectory + "mtapp2.ear";
+			String out = AutomatedBVT.baseDirectory + "mtapp2Finished.ear";
+			earFile = factory.openEARFile (in);
+			System.out.println ("uri: " + earFile.getURI());
+
+			List appClients = earFile.getApplicationClientFiles();
+			boolean exFound1 = false;
+			boolean exFound2 = false;
+			
+			for(int i = 0; i<appClients.size(); i++){
+				ApplicationClientFile file = (ApplicationClientFile)appClients.get(0);
+				Resource res;
+
+				try{
+					res = file.getMofResource("META-INF/FOOclient-resource.xmi");
+				} catch(Exception e){	
+					exFound1 = true;
+					if(!(e instanceof FileNotFoundException)){
+						assertTrue("Expected FileNotFoundException", false);
+					}		
+				}
+				
+				try {
+					res = file.getMofResource("META-INF/client-resource.xmi");
+				} catch (Exception e) {
+					exFound2 = true;
+					if(!(e instanceof ResourceLoadException)){
+						assertTrue("Expected ResourceLoadException", false);
+					}	
+				}
+			}
+			assertTrue("No exception logged for non-existing file", exFound1);
+			assertTrue("No exception logged for existing", exFound2);
+
+			
+			earFile.saveAs(out);
+			earFile.close();
+		}
+		catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+	/* (non-Javadoc)
+	 * @see junit.framework.TestCase#tearDown()
+	 */
+	protected void tearDown() throws Exception {
+		super.tearDown();
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/CopyTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/CopyTests.java
new file mode 100644
index 0000000..37da367
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/CopyTests.java
@@ -0,0 +1,234 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+/*
+* Licensed Material - Property of IBM
+* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
+* US Government Users Restricted Rights - Use, duplication or disclosure
+* restricted by GSA ADP Schedule Contract with IBM Corp.
+*/
+
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jst.j2ee.application.Module;
+import org.eclipse.jst.j2ee.application.WebModule;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBModuleRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ReadOnlyDirectory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EjbFactory;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.internal.J2EEVersionConstants;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationFactory;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+
+/**
+ * Insert the type's description here.
+ * Creation date: (12/14/00 12:10:36 PM)
+ * @author: Administrator
+ */
+public class CopyTests extends TestCase {
+	private final static String copyright = "(c) Copyright IBM Corporation 2001."; //$NON-NLS-1$
+	/**
+	 * CopyTests constructor comment.
+	 * @param name java.lang.String
+	 */
+	public CopyTests(String name) {
+		super(name);
+	}
+	public CommonarchiveFactory getArchiveFactory() {
+		return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+	}
+	public EjbFactory getEJBFactory() {
+		return EjbPackage.eINSTANCE.getEjbFactory();
+	}
+
+	public EjbPackage getEJBPackage() {
+		return getEJBFactory().getEjbPackage();
+	}
+	public WebapplicationFactory getWebFactory() {
+		return WebapplicationPackage.eINSTANCE.getWebapplicationFactory();
+	}
+	/**
+	 * Starts the application.
+	 * @param args an array of command-line arguments
+	 */
+	public static void main(java.lang.String[] args) {
+		String[] className = { "com.ibm.etools.archive.test.CopyTests", "-noloading" };
+		TestRunner.main(className);
+	}
+	public static junit.framework.Test suite() {
+		return new TestSuite(CopyTests.class);
+	}
+	/**
+	 * Tests the addCopy(ReadOnlyDirectory) api on archive
+	 */
+	public void testAddCopyDirectory() throws Exception {
+
+		WARFile aWarFile = (WARFile) getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "example2.war");
+
+		ReadOnlyDirectory sampleDirectory = getArchiveFactory().openReadOnlyDirectory(AutomatedBVT.baseDirectory + "WarTestClasses");
+		
+		int initialSize = aWarFile.getFiles().size();
+
+		aWarFile.addCopy(sampleDirectory);
+		Iterator iter = aWarFile.getFiles().iterator();
+		//For running inside eclipse
+		while (iter.hasNext()) {
+			String uri = ((File)iter.next()).getURI();
+			if (uri.indexOf("CVS") >= 0) 
+				iter.remove();
+		}
+		assertTrue("Wrong number of files ", aWarFile.getFiles().size() == initialSize + 7);
+		aWarFile.saveAsNoReopen(AutomatedBVT.baseDirectory + "testOutput/CopyTests/addCopyDir.war");
+
+	}
+
+	public void testAddCopyModule() throws Exception {
+
+		String in = AutomatedBVT.baseDirectory + "sample.ear";
+		EARFile earFile = (EARFile) getArchiveFactory().openArchive(in);
+		List modules = earFile.getDeploymentDescriptor().getModules();
+		EJBJarFile ejbJarFile = null;
+
+		for (int i = 0; i < modules.size(); i++) {
+			Module aModule = (Module) modules.get(i);
+			if (aModule.isEjbModule()) {
+				ejbJarFile = (EJBJarFile) earFile.getFile(aModule.getUri());
+				break;
+			}
+		}
+
+		assertTrue("EJBJarFile should not be null", ejbJarFile != null);
+		ejbJarFile.getDeploymentDescriptor();
+
+		EARFile newEarFile = getArchiveFactory().createEARFileInitialized(AutomatedBVT.baseDirectory + "testOutput/CopyTests/newEarWithCopiedModule.ear");
+		newEarFile.addCopy(ejbJarFile);
+		EJBJarFile copied = (EJBJarFile) newEarFile.getModuleFiles().get(0);
+		assertTrue(copied.isDeploymentDescriptorSet());
+		assertTrue(copied.getDeploymentDescriptor() == copied.getDeploymentDescriptorResource().getContents().get(0));
+		assertTrue(copied.getDeploymentDescriptor() != ejbJarFile.getDeploymentDescriptor());
+		assertTrue(ejbJarFile.getFiles().size() == copied.getFiles().size());
+
+		newEarFile.saveNoReopen();
+	}
+
+	/**
+	 * Test per CMVC defect report 96197
+	 * Create a new application, open ejb jar file, use addcopy to add the module, and save
+	 * using original ear, get the ejb jar, and modify bindings
+	 * save again
+	 * Result:  bindings not updated
+	 */
+	public void testAddCopyModuleFilesToEAR() throws Exception {
+		String uri = AutomatedBVT.baseDirectory + "testOutput/CopyTests/testAddCopyModuleFilesToEAR.ear";
+		//Create a new ear file, add a standalone ejb jar file and standalone war file, and save
+		EARFile earFile = getArchiveFactory().createEARFileInitialized(uri);
+		earFile.setJ2EEVersion(J2EEVersionConstants.J2EE_1_3_ID);
+		earFile.getDeploymentDescriptor().setDisplayName(uri);
+		EJBJarFile ejbJarFile = getArchiveFactory().openEJBJarFile(AutomatedBVT.baseDirectory + "bankejbs.jar");
+		earFile.addCopy(ejbJarFile);
+		WARFile warFile = getArchiveFactory().openWARFile(AutomatedBVT.baseDirectory + "example2.war");
+		earFile.addCopy(warFile);
+		((WebModule) earFile.getDeploymentDescriptor().getFirstModule(warFile.getURI())).setContextRoot("/");
+		earFile.save();
+
+		ejbJarFile = (EJBJarFile) earFile.getEJBJarFiles().get(0);
+		assertTrue("ejb dd resource not right", ejbJarFile.getDeploymentDescriptor().eResource() == ejbJarFile.getDeploymentDescriptorResource());
+
+		
+
+		warFile = (WARFile) earFile.getWARFiles().get(0);
+		assertTrue("war dd resource not right", warFile.getDeploymentDescriptor().eResource() == warFile.getDeploymentDescriptorResource());
+
+		
+		earFile.saveNoReopen();
+
+		
+		earFile.close();
+
+	}
+	/**
+	 * Tests opening a standalone module with an absolute path, and adding that to a new ear file, per defect report
+	 */
+	public void testAddCopyStandaloneModule() throws Exception {
+		String fileName = AutomatedBVT.baseDirectory + "bankejbs.jar";
+
+		EJBJarFile ejbJarFile = (EJBJarFile) getArchiveFactory().openArchive(fileName);
+		ejbJarFile.getDeploymentDescriptor();
+
+		EARFile newEarFile = getArchiveFactory().createEARFileInitialized(AutomatedBVT.baseDirectory + "testOutput/CopyTests/newEarWithStandAloneModule-out.ear");
+		newEarFile.addCopy(ejbJarFile);
+		EJBJarFile copied = (EJBJarFile) newEarFile.getModuleFiles().get(0);
+		assertTrue(copied.isDeploymentDescriptorSet());
+		assertTrue(copied.getDeploymentDescriptor() == copied.getDeploymentDescriptorResource().getContents().get(0));
+		assertTrue(copied.getDeploymentDescriptor() != ejbJarFile.getDeploymentDescriptor());
+		assertTrue(ejbJarFile.getFiles().size() == copied.getFiles().size());
+
+		newEarFile.saveNoReopen();
+	}
+
+	public void testAddRenameAndDelete() throws Exception {
+
+		String in = AutomatedBVT.baseDirectory + "sample.ear";
+		EARFile earFile = (EARFile) getArchiveFactory().openArchive(in);
+		List modules = earFile.getDeploymentDescriptor().getModules();
+		EJBJarFile ejbJarFile = null;
+
+		for (int i = 0; i < modules.size(); i++) {
+			Module aModule = (Module) modules.get(i);
+			if (aModule.isEjbModule()) {
+				ejbJarFile = (EJBJarFile) earFile.getFile(aModule.getUri());
+				break;
+			}
+		}
+
+		assertTrue("EJBJarFile should not be null", ejbJarFile != null);
+		ejbJarFile.getDeploymentDescriptor();
+
+		EARFile newEarFile = getArchiveFactory().createEARFileInitialized(AutomatedBVT.baseDirectory + "testOutput/CopyTests/newEarWithCopiedModule.ear");
+		EJBModuleRef addedCopy = (EJBModuleRef) newEarFile.addCopyRef(ejbJarFile);
+		assertTrue("Module files should not be empty", !newEarFile.getModuleFiles().isEmpty());
+		assertTrue("Modules should not be empty", !newEarFile.getDeploymentDescriptor().getModules().isEmpty());
+		assertTrue("Module should be accessible and have the same uri as file", addedCopy.getModule().getUri().equals(addedCopy.getModuleFile().getURI()));
+
+		String newURI = "temp/foobar.jar";
+		addedCopy.setURI(newURI);
+		assertTrue("Module should be accessible and have the new renamed uri as well as the file", addedCopy.getModule().getUri().equals(addedCopy.getModuleFile().getURI()) && addedCopy.getModule().getUri().equals(newURI));
+		newEarFile.remove(addedCopy);
+		assertTrue("Module files should be empty", newEarFile.getModuleFiles().isEmpty());
+		assertTrue("Modules should be empty", newEarFile.getDeploymentDescriptor().getModules().isEmpty());
+
+	}
+
+	public void testAddRenameAndDeleteStandalone() throws Exception {
+
+		String fileName = AutomatedBVT.baseDirectory + "bankejbs.jar";
+
+		EJBJarFile ejbJarFile = (EJBJarFile) getArchiveFactory().openArchive(fileName);
+
+		EARFile newEarFile = getArchiveFactory().createEARFileInitialized(AutomatedBVT.baseDirectory + "testOutput/CopyTests/newEarWithCopiedModule.ear");
+		EJBModuleRef addedCopy = (EJBModuleRef) newEarFile.addCopyRef(ejbJarFile);
+		assertTrue("Module files should not be empty", !newEarFile.getModuleFiles().isEmpty());
+		assertTrue("Modules should not be empty", !newEarFile.getDeploymentDescriptor().getModules().isEmpty());
+		assertTrue("Module should be accessible and have the same uri as file", addedCopy.getModule().getUri().equals(addedCopy.getModuleFile().getURI()));
+
+		String newURI = "temp/foobar.jar";
+		addedCopy.setURI(newURI);
+		assertTrue("Module should be accessible and have the new renamed uri as well as the file", addedCopy.getModule().getUri().equals(addedCopy.getModuleFile().getURI()) && addedCopy.getModule().getUri().equals(newURI));
+		newEarFile.remove(addedCopy);
+		assertTrue("Module files should be empty", newEarFile.getModuleFiles().isEmpty());
+		assertTrue("Modules should be empty", newEarFile.getDeploymentDescriptor().getModules().isEmpty());
+
+	}
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/DefectVerificationTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/DefectVerificationTests.java
new file mode 100644
index 0000000..35628c0
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/DefectVerificationTests.java
@@ -0,0 +1,390 @@
+/*
+ * Created on May 20, 2004
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.jst.j2ee.archive.test;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Iterator;
+import java.util.List;
+import java.util.zip.ZipInputStream;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.jst.j2ee.application.Application;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBModuleRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WebModuleRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.internal.WrappedException;
+import org.eclipse.jst.j2ee.webapplication.FilterMapping;
+import org.eclipse.jst.j2ee.webapplication.WebApp;
+
+import com.ibm.wtp.common.logger.proxy.Logger;
+
+/**
+ * @author mdelder
+ * 
+ * TODO To change the template for this generated type comment go to Window -
+ * Preferences - Java - Code Generation - Code and Comments
+ */
+public class DefectVerificationTests extends TestCase {
+
+	/**
+	 *  
+	 */
+	public DefectVerificationTests() {
+		super();
+	}
+
+	/**
+	 * @param name
+	 */
+	public DefectVerificationTests(String name) {
+		super(name);
+	}
+
+	public static junit.framework.Test suite() {
+	    /*TestSuite suite = new TestSuite();
+	    suite.addTest(new DefectVerificationTests("testFilterMappingTranslator"));
+	    return suite;*/
+		return new TestSuite(DefectVerificationTests.class); 
+	}
+	
+
+	public void testFilterMappingTranslator() throws Exception {
+/*		ArchiveOptions options = new ArchiveOptions();
+		options.setRendererType(ArchiveOptions.DOM);
+		final String earPath = AutomatedBVT.baseDirectory + "sample.ear";
+		CommonarchivePackage pkg = CommonarchivePackage.eINSTANCE;
+		EARFile earFile = pkg.getCommonarchiveFactory().openEARFile(options,
+				earPath);
+		// open the ear
+		System.out.println("opening " + archive + " ... ");*/
+	    
+	    String archive = AutomatedBVT.baseDirectory + "QIDefectsNew.ear";
+	    String name = "QIDefects.war";
+		  /*
+		   * crack open the ear file using the common archive:
+		   */
+		  CommonarchiveFactory archiveFactory = (CommonarchiveFactory) CommonarchivePackage.eINSTANCE.getEFactoryInstance();
+		  ArchiveOptions options = new ArchiveOptions();
+		  options.setRendererType(ArchiveOptions.SAX);
+		  options.setUseJavaReflection(false);
+		  //   options.setDiscriminateNestedArchives(extraProcessing);
+		  		
+		  		EARFile earFile = archiveFactory.openEARFile(options, archive);
+				WebModuleRef warFile = null;
+				for (Iterator i = earFile.getModuleRefs().iterator(); i.hasNext();) {
+				    ModuleRef mref = (ModuleRef) i.next();
+				    if (name.equals(mref.getUri())) { 
+				        warFile =  (WebModuleRef) mref;
+				    }
+				}
+   
+				WebApp dd = (WebApp)warFile.getDeploymentDescriptor();
+   
+				EList filterMappings = dd.getFilterMappings();
+				assertTrue("The test requires two filter mappings.", filterMappings.size() == 2); 
+				FilterMapping filterMapping1 = (FilterMapping)filterMappings.get(0);
+				assertNotNull("A URL Pattern was not found for filter with name " + filterMapping1.getFilter().getName(),filterMapping1.getUrlPattern());
+				FilterMapping filterMapping2 = (FilterMapping)filterMappings.get(1);
+				assertNotNull("A Servlet name was not found for filter with name " + filterMapping2.getFilter().getName(),filterMapping2.getServletName());
+				assertNotNull("A Servlet was not found for filter with name " + filterMapping2.getFilter().getName(),filterMapping2.getServlet());
+				      
+	}
+
+	public void testFormerDefect297() throws Exception {
+		ArchiveOptions options = new ArchiveOptions();
+		options.setRendererType(ArchiveOptions.DOM);
+		final String earPath = AutomatedBVT.baseDirectory + "sample.ear";
+		CommonarchivePackage pkg = CommonarchivePackage.eINSTANCE;
+		EARFile earFile = pkg.getCommonarchiveFactory().openEARFile(options,
+				earPath);
+		earFile.extractNoReopen(Archive.EXPAND_ALL);
+	}
+
+	public void testFormerDefect1459() throws Exception {
+		ArchiveOptions options = new ArchiveOptions();
+		options.setRendererType(ArchiveOptions.DOM);
+		CommonarchivePackage pkg = CommonarchivePackage.eINSTANCE;
+		CommonarchiveFactory factory = pkg.getCommonarchiveFactory();
+
+		EARFile earFile = factory.createEARFileInitialized(options, "Test.ear");
+		earFile.saveAs("C:\\Test.ear");
+	}
+
+	/*
+	 * public void testCorruptedEAR() throws Exception { ArchiveOptions options =
+	 * new ArchiveOptions(); options.setRendererType(ArchiveOptions.DOM); final
+	 * String earPath = AutomatedBVT.baseDirectory + "occam.ear";
+	 * CommonarchivePackage pkg = CommonarchivePackage.eINSTANCE;
+	 * CommonarchiveFactory factory = pkg.getCommonarchiveFactory();
+	 * 
+	 * EARFile earFile = factory.openEARFile(options, earPath);
+	 * 
+	 * List files = earFile.getFiles();
+	 * 
+	 * for(int i=0; i <files.size(); i++) { System.err.println(files.get(i));
+	 * readFile( (File) files.get(i)); if(files.get(i) instanceof WARFile) {
+	 * WARFile war = (WARFile) files.get(i); List warFiles = war.getFiles();
+	 * for(int j=0; j <warFiles.size(); j++) {
+	 * System.err.println(warFiles.get(j)); readFile((File)warFiles.get(j)); } } }
+	 * System.out.println("Done"); }
+	 */
+
+	/**
+	 * @param file
+	 * @throws FileNotFoundException
+	 * @throws IOException
+	 */
+	private void readFile(File file) throws FileNotFoundException, IOException {
+		InputStream is = file.getInputStream();
+		ZipInputStream zis = new ZipInputStream(is);
+		try {
+			while (zis.getNextEntry() != null);
+
+		} finally {
+			if (is != null)
+				is.close();
+			if (zis != null)
+				zis.close();
+			is = null;
+			zis = null;
+		}
+	}
+
+	public void testSavingEARWhileDeploying() throws Exception {
+		try {
+			ArchiveOptions options = new ArchiveOptions();
+			options.setRendererType(ArchiveOptions.SAX);
+			options.setUseJavaReflection(true);
+			final String earPath = AutomatedBVT.baseDirectory
+					+ "AuctionApp.ear";
+			CommonarchivePackage pkg = CommonarchivePackage.eINSTANCE;
+			EARFile earFile = pkg.getCommonarchiveFactory().openEARFile(
+					options, earPath);
+			printFiles(earFile);
+			earFile.save();
+
+			earFile.reopen();
+		} catch (WrappedException we) {
+			Logger.getLogger().logError(we);
+			Logger.getLogger().logError(we.getMessage());
+			if (we.getCause() != null)
+				Logger.getLogger().logError(we.getCause());
+			if (we.getNestedException() != null)
+				Logger.getLogger().logError(we.getNestedException());
+			if (we.getNestedException() != null)
+				Logger.getLogger().logError(we.getConcatenatedMessages());
+			throw we;
+		}
+	}
+
+	public void testCreatingEARFile() throws Exception {
+
+		CommonarchivePackage pkg = CommonarchivePackage.eINSTANCE;
+		CommonarchiveFactory factory = pkg.getCommonarchiveFactory();
+		final String earPath = AutomatedBVT.baseDirectory
+				+ "InitializedEAR.ear";
+
+		ArchiveOptions options = new ArchiveOptions();
+		options.setIsReadOnly(true);
+		options.setRendererType(ArchiveOptions.DOM);
+
+		// new ear file
+		EARFile earFile = factory.createEARFileInitialized(options, earPath);
+
+		Application appl = earFile.getDeploymentDescriptor();
+
+	}
+
+	public void testServiceQNameTranslator() throws Exception {
+        try {
+			ArchiveOptions options = new ArchiveOptions();
+			options.setRendererType(ArchiveOptions.SAX); 
+			final String earPath = AutomatedBVT.baseDirectory + "WSSecured_InsuranceServices_EJB_WS.ear";
+			CommonarchivePackage pkg = CommonarchivePackage.eINSTANCE;
+			CommonarchiveFactory factory = pkg.getCommonarchiveFactory();
+			EARFile earFile = factory.openEARFile(options, earPath);
+			printFiles(earFile);
+			String tmp = "C:\\temp\\"+System.currentTimeMillis();
+			earFile.extractTo(tmp, 0);  
+				
+			List ejbModuleRefs = earFile.getEJBModuleRefs();
+
+			for(int i=0; i<ejbModuleRefs.size(); i++) {
+				EJBModuleRef ejbmodref = (EJBModuleRef) ejbModuleRefs.get(i);
+				if(ejbmodref.getUri().equals("WSInsSession20EJB.jar")) {
+					Resource res = ejbmodref.getMofResource("META-INF/webservicesclient.xml"); 
+					System.err.println(res.getURI());
+					 
+				}
+			}
+			/*
+			 * Application app = earFile.getDeploymentDescriptor(); List modules =
+			 * app.getModules(); for(int i=0; i <modules.size(); i++) {
+			 * System.err.println(modules.get(i)); Module
+			 * mod=(Module)modules.get(i); if( mod.isEjbModule() ) { EjbModule
+			 * ejbModule = (EjbModule) mod; EJBJarFile ejbJarFile =
+			 * factory.openEJBJarFile(options, "WSInsSession20EJB.jar"); EJBJar
+			 * ejbjar = ejbJarFile.getDeploymentDescriptor(); }
+			 *  }
+			 */
+		} catch (WrappedException we) {
+			Logger.getLogger().logError(we);
+			Logger.getLogger().logError(we.getMessage());
+			if(we.getCause() != null) 
+				Logger.getLogger().logError(we.getCause());
+			if(we.getNestedException() != null)
+				Logger.getLogger().logError(we.getNestedException());
+			if(we.getNestedException() != null)
+				Logger.getLogger().logError(we.getConcatenatedMessages());
+			throw we;
+		}  
+    }	
+	
+	public void testReadCrimsonCase() throws Exception {
+		try {
+			ArchiveOptions options = new ArchiveOptions();
+			options.setRendererType(ArchiveOptions.DOM); 
+			final String earPath = AutomatedBVT.baseDirectory
+					+ "ejb_sam_Hello.ear";
+			CommonarchivePackage pkg = CommonarchivePackage.eINSTANCE;
+			EARFile earFile = pkg.getCommonarchiveFactory().openEARFile(
+					options, earPath);
+			Application app = earFile.getDeploymentDescriptor();
+			assertNotNull("Could not read deployment descriptor.", app);
+			System.err.println("\n\n******************Printing files from " + app.getDisplayName());
+			assertNotNull("Could not read display name from deployment descriptor.", app.getDisplayName());
+			printFiles(earFile);
+			earFile.extractTo(AutomatedBVT.baseDirectory + "testOutput/temp", 0);
+			earFile.reopen();
+		} catch (WrappedException we) {
+			Logger.getLogger().logError(we);
+			Logger.getLogger().logError(we.getMessage());
+			if (we.getCause() != null)
+				Logger.getLogger().logError(we.getCause());
+			if (we.getNestedException() != null)
+				Logger.getLogger().logError(we.getNestedException());
+			if (we.getNestedException() != null)
+				Logger.getLogger().logError(we.getConcatenatedMessages());
+			throw we;
+		}
+	}
+	
+	/*public void testReadInitParms13() throws Exception {
+	    readInitParms(true);
+	}
+	public void testReadInitParms14() throws Exception{
+	    readInitParms(false);
+	}	*/
+	
+	/*public void readInitParms(boolean is13) throws Exception {
+		try { 
+		    System.out.println("Using J2EE " + (is13?"1.3" :"1.4") );
+			ArchiveOptions options = new ArchiveOptions();
+			options.setRendererType(ArchiveOptions.DOM); 
+			final String earPath = AutomatedBVT.baseDirectory
+					+ ((is13) ? "filter13war.ear" :  "servlet_js_filter.ear");
+			CommonarchivePackage pkg = CommonarchivePackage.eINSTANCE;
+			EARFile earFile = pkg.getCommonarchiveFactory().openEARFile(
+					options, earPath);
+			WARFile warFile = (WARFile) (is13 ? earFile.getFile("FilterWar.war") :earFile.getFile("servlet_js_filter_web.war"));
+			WebApp webapp = warFile.getDeploymentDescriptor(); 
+			assertNotNull("The web app DD could not be located", webapp);
+			EList filters = webapp.getFilters();
+			Filter f = null;
+			EList parms, paramValues;
+			for(int i=0; i<filters.size(); i++) {
+			    f = (Filter) filters.get(i);
+			    System.out.println(f);
+			    EList parms = f.getInitParams();
+			    System.out.println("There are " + parms.size() + " InitParams");
+			    for(int j=0; j<parms.size(); j++) {
+			        InitParam p = (InitParam) parms.get(j);
+			        System.out.println(p);
+			    }
+			    EList paramValues = f.getInitParamValues();
+			    System.out.println("There are " + paramValues.size() + " InitParamValues");
+			    for(int j=0; j<paramValues.size(); j++) {
+			        ParamValue p = (ParamValue) paramValues.get(j);
+			        System.out.println(p);
+			    }
+			    
+			    System.out.println("Demo version case");
+			    
+			    
+			    WebApp container = (WebApp) f.eContainer();
+			    switch(container.getJ2EEVersionID()) {
+			        case J2EEVersionConstants.J2EE_1_2_ID: 
+			        case J2EEVersionConstants.J2EE_1_3_ID:
+
+					    parms = f.getInitParams();
+					    System.out.println("There are " + parms.size() + " InitParams");
+					    assertEquals("There must be 2 Filter Init Params", parms.size(), 2);
+					    for(int j=0; j<parms.size(); j++) {
+					        InitParam ip = (InitParam) parms.get(j);
+					        System.out.println(p);
+					        assertTrue("The param names much match", ("param"+j+"name").equals(ip.getParamName()));
+					        assertTrue("The param values much match", ("param"+j+"value").equals(ip.getParamValue()));
+					    }
+					    break;
+			        case J2EEVersionConstants.J2EE_1_4_ID: default: {
+
+					    paramValues = f.getInitParamValues();
+			        	assertEquals("There must be 1 Filter Init Param Values", paramValues.size(), 1);
+					    System.out.println("There are " + paramValues.size() + " InitParamValues");
+					    
+				        ParamValue pv = (ParamValue) paramValues.get(0); 
+				        System.out.println(pv); 
+				        assertTrue("The param names much match", ("attribute").equals(pv.getName()));
+				        String expectedValue = (i == 0) ? "com.sun.ts.tests.servlet.api.javax_servlet.filter.DoFilter_Filter.SERVLET_MAPPED" : "com.sun.ts.tests.servlet.api.javax_servlet.filter.InitFilter_Filter.SERVLET_MAPPED"; 
+				        assertEquals("The param values much match", expectedValue , pv.getValue());
+			        }
+					    break;
+			    }
+			}
+			
+			    
+		} catch (WrappedException we) {
+			Logger.getLogger().logError(we);
+			Logger.getLogger().logError(we.getMessage());
+			if (we.getCause() != null)
+				Logger.getLogger().logError(we.getCause());
+			if (we.getNestedException() != null)
+				Logger.getLogger().logError(we.getNestedException());
+			if (we.getNestedException() != null)
+				Logger.getLogger().logError(we.getConcatenatedMessages());
+			throw we;
+		}
+	}*/
+	 
+	
+	private void printFiles(Container ar) {
+		List files = ar.getFiles();
+
+		for (int i = 0; i < files.size(); i++) {
+			System.err.println(files.get(i));
+			if (files.get(i) instanceof Container) {
+				Container tainer = (Container) files.get(i);
+				printFiles(tainer);
+			}
+		}
+	}
+
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/DiscriminatorTest.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/DiscriminatorTest.java
new file mode 100644
index 0000000..734786d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/DiscriminatorTest.java
@@ -0,0 +1,107 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+import java.io.File;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ArchiveTypeDiscriminatorRegistry;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.GenericArchiveTypeDiscriminator;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+
+
+/*
+ * Licensed Material - Property of IBM 
+ * (C) Copyright IBM Corp. 2001, 2002 - All Rights Reserved. 
+ * US Government Users Restricted Rights - Use, duplication or disclosure 
+ * restricted by GSA ADP Schedule Contract with IBM Corp. 
+ */
+
+/**
+ * @author mdelder
+ *  
+ */
+public class DiscriminatorTest
+        extends TestCase {
+
+    public boolean assertBarFile = false;
+
+    public DiscriminatorTest(String name) {
+        super(name);
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite("DiscriminatorTest");
+        suite.addTest(new DiscriminatorTest("testDiscriminator"));
+        return suite;
+    }
+
+    // TODO Implement unit test for discriminator framework
+    public void testDiscriminator() throws Exception {
+        assertBarFile = true;
+        try {
+            ArchiveTypeDiscriminatorRegistry.registorDiscriminator(new BeverageArchiveDiscriminator());
+            Archive archive = CommonarchiveFactory.eINSTANCE.openArchive( AutomatedBVT.baseDirectory + File.separator + "my.bar");
+            assertNotNull("The archive was not found!", archive);
+
+            assertTrue("The archive extension (.bar) was not recognized as a custom extension!", archive.isNestedArchive("my.bar"));
+
+            boolean typeContributedSuccessfully = false;
+            EList types = archive.getTypes();
+            for (int i = 0; i < types.size(); i++) {
+                if (types.get(i).equals(BeverageArchiveDiscriminator.BEVERAGE_ARCHIVE_TYPE_KEY)) {
+                    typeContributedSuccessfully = true;
+                    break;
+                }
+            }
+            assertTrue("The BEVERAGE_ARCHIVE_TYPE_KEY was not found in the list of types of the archive!", typeContributedSuccessfully);
+        } finally {
+            assertBarFile = false;
+        }
+    }
+
+    public class BeverageArchiveDiscriminator
+            extends TestCase implements GenericArchiveTypeDiscriminator {
+
+        public static final String BEVERAGE_ARCHIVE_TYPE_KEY = "com.ibm.beverage.archive";
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see com.ibm.etools.j2ee.commonarchivecore.GenericArchiveTypeDiscriminator#discriminate(com.ibm.etools.j2ee.commonarchivecore.Archive)
+         */
+        public boolean discriminate(Archive anArchive) {
+            boolean result = anArchive.containsFile("META-INF/adult-beverage-imbibement-options.xml");
+            if (assertBarFile)
+                    assertTrue(
+                            "The BeverageArchiveDiscriminator did not recogniZe the file! (Ensure it contains a file named META-INF/adult-beverage-imbibement-venues.xml)",
+                            result);
+            return result;
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see com.ibm.etools.j2ee.commonarchivecore.GenericArchiveTypeDiscriminator#getCustomFileExtensions()
+         */
+        public String[] getCustomFileExtensions() {
+
+            return new String[] { "bar"};
+
+        }
+
+        /*
+         * (non-Javadoc)
+         * 
+         * @see com.ibm.etools.j2ee.commonarchivecore.GenericArchiveTypeDiscriminator#getTypeKey()
+         */
+        public String getTypeKey() {
+
+            return BEVERAGE_ARCHIVE_TYPE_KEY;
+        }
+    }
+}
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/DomComparitor.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/DomComparitor.java
new file mode 100644
index 0000000..454c1e3
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/DomComparitor.java
@@ -0,0 +1,285 @@
+/*
+ * Created on Mar 17, 2003
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.archive.test;
+
+import java.util.HashSet;
+
+import org.w3c.dom.Attr;
+import org.w3c.dom.CharacterData;
+import org.w3c.dom.Document;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.DocumentType;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.w3c.dom.ProcessingInstruction;
+import org.xml.sax.EntityResolver;
+
+/**
+ * THE MASTER COPY of this class is in com.ibm.etools.commontests
+ * Please update the copy in commontests and then copy this class to
+ * where you need it if you are looking at a different copy
+ * 
+ * @author jsholl
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class DomComparitor {
+	private static EntityResolver entityResolver;
+	private static HashSet attributeList;
+// TODO replace this with non xerces	
+//    public static String compareDoms(InputSource source1, InputSource source2, HashSet ignorableAtts) throws Exception {
+//    	attributeList = ignorableAtts;
+//    	DOMParser parser = new DOMParser();
+//    	if (entityResolver == null) {
+//         parser.setEntityResolver(new EntityResolver() {
+//	            public InputSource resolveEntity(String arg0, String arg1) throws SAXException, IOException {
+//	                return null;
+//	            }
+//	
+//	        });
+//    	} else {
+//    		parser.setEntityResolver(entityResolver);
+//    	}
+//        parser.parse(source1);
+//        Document doc1 = parser.getDocument();
+//        parser.parse(source2);
+//        Document doc2 = parser.getDocument();
+//        return compareNodes(doc1, doc2);
+//    }
+
+//	public static String compareDoms(InputSource source1, InputSource source2) throws Exception {
+//		return compareDoms(source1, source2, null);
+//	}
+
+
+    public static String compareNodes(Node node1, Node node2) throws Exception {
+        //        System.out.println("checking A:" + node1);
+        //        System.out.println("checking B:" + node2);
+        //        System.out.println("nodeType=" + node1.getNodeType());
+        //        System.out.println("getNodeName=" + node1.getNodeName());
+        //        System.out.println("getNodeValue=" + node1.getNodeValue());
+
+        //Generic Node Testing 
+        if (node1 == null && node2 == null)
+        	return null; 
+        else if ((node1 != null && node2 == null) || node1 == null && node2 != null)
+        	return nullNodeEncountered(node1, node2);                        
+        else if (node1.getNodeType() != node2.getNodeType()) {
+            return mismatch("Node.getNodeType() " + node1.getNodeType() + " " + node2.getNodeType(), node1, node2);
+        } else if (node1.getNodeName() != node2.getNodeName()) {
+            return mismatch("Node.getNodeName() <" + node1.getNodeName() + "> <" + node2.getNodeName() + ">", node1, node2);
+        } else if (!(node1.getNodeValue() == null && node2.getNodeValue() == null)) {
+            if (node1.getNodeValue() == null) {
+                return mismatch("Node.getNodeValue() node A is null", node1, node2);
+            } else if (node2.getNodeValue() == null) {
+                return mismatch("Node.getNodeValue() node B is null", node1, node2);
+            } else if (!node1.getNodeValue().equals(node2.getNodeValue())) {
+                return mismatch("Node.getNodeValue() <" + node1.getNodeValue() + "> <" + node2.getNodeValue() + ">", node1, node2);
+            }
+        } else if (node1.hasAttributes() != node2.hasAttributes()) {
+            return mismatch("Node.hasAttributes() " + node1.hasAttributes() + " " + node2.hasAttributes(), node1, node2);
+        } else if (node1.hasChildNodes() != node2.hasChildNodes()) {
+            return mismatch("Node.hasChildNodes() " + node1.hasChildNodes() + " " + node2.hasChildNodes(), node1, node2);
+        }
+		//TODO strengthen node comparisons as necessary
+        //Specialized Node Testing
+        switch (node1.getNodeType()) {
+            case Node.TEXT_NODE :
+            case Node.CDATA_SECTION_NODE :
+                CharacterData cdata1 = (CharacterData) node1;
+                CharacterData cdata2 = (CharacterData) node2;
+                if (!cdata1.getData().equals(cdata2.getData())) {
+                    return mismatch("CharacterData.getData() " + cdata1.getData() + " " + cdata2.getData(), node1, node2);
+                }
+                break;
+            case Node.ATTRIBUTE_NODE :
+                Attr attr1 = (Attr) node1;
+                Attr attr2 = (Attr) node2;
+                	if (!attr1.getName().equals(attr2.getName())) {
+	                    return mismatch("Attr.getName() " + attr1.getName() + " " + attr2.getName(), node1, node2);
+	                } 
+	                else if( attributeList != null && !attributeList.contains(attr1.getName()) && !attributeList.contains(attr2.getName())) {
+						if (!attr1.getValue().equals(attr2.getValue())) {
+		                    return mismatch("Attr.getValue() " + attr1.getValue() + " " + attr2.getValue(), node1, node2);
+		                } else if (attr1.getSpecified() != attr2.getSpecified()) {
+		                    return mismatch("Attr.getSpecified() " + attr1.getSpecified() + " " + attr2.getSpecified(), node1, node2);
+		                }
+	                }
+                break;
+            case Node.DOCUMENT_NODE :
+            	Document doc1 = (Document)node1;
+				Document doc2 = (Document)node2;
+				String result = compareNodes(doc1.getDoctype(), doc2.getDoctype());
+				if(result != null){
+					return result;
+				}
+				break;
+			case Node.DOCUMENT_TYPE_NODE:
+				DocumentType docType1 = (DocumentType)node1;
+				DocumentType docType2 = (DocumentType)node2;
+				if(!docType1.getPublicId().equals(docType2.getPublicId())){
+					return mismatch("DocumentType.getPublicId() "+docType1.getPublicId()+ " "+docType2.getPublicId(), node1, node2);
+				}
+				break;
+            case Node.PROCESSING_INSTRUCTION_NODE :
+            	ProcessingInstruction pInst1 = (ProcessingInstruction)node1;
+				ProcessingInstruction pInst2 = (ProcessingInstruction)node2;
+				//System.out.println("ProcessingInstruction todo");
+            	break;
+			case Node.DOCUMENT_FRAGMENT_NODE :
+				DocumentFragment frag1 = (DocumentFragment)node1;
+				DocumentFragment frag2 = (DocumentFragment)node2;
+				//System.out.println("DocumentFragment todo");
+            	break;
+			
+			case Node.ELEMENT_NODE :
+			case Node.COMMENT_NODE :
+            case Node.ENTITY_NODE :
+			case Node.NOTATION_NODE :
+				break;
+
+        }
+
+        //Recursion
+        NamedNodeMap attributes1 = node1.getAttributes();
+        NamedNodeMap attributes2 = node2.getAttributes();
+
+        if (attributes1 != null && attributes2 != null) {
+            if (attributes1.getLength() != attributes2.getLength()) {
+                return mismatch("getAttributes().getLength() " + attributes1.getLength() + " " + attributes2.getLength(), node1, node2);
+            }
+            for (int i = 0; i < attributes1.getLength(); i++) {
+				Attr attr1 = (Attr) attributes1.item(i);
+				Attr attr2 = (Attr) attributes2.item(i);
+				if(!attr1.getName().equals(attr2.getName())){
+					return mismatch("Attr.getName() " + attr1.getName() + " " + attr2.getName(), attr1, attr2);
+				}
+				if(attributeList != null && !attributeList.contains(attr1.getName()) && !attributeList.contains(attr2.getName())) {
+	                String results = compareNodes(attr1, attr2);
+	                if (null != results) {
+	                    return results;
+	                }
+				}
+            }
+
+        } else if (attributes1 != null || attributes2 != null) {
+            return mismatch("getAttributes() null", node1, node2);
+        }
+
+        NodeList children1 = node1.getChildNodes();
+        NodeList children2 = node2.getChildNodes();
+
+        //        if (children1.getLength() != children2.getLength()) {
+        //            return mismatch("getChildNodes().getLength() "+children1.getLength()+" "+children2.getLength(), node1, node2);
+        //        }
+
+        int count1 = 0;
+        int count2 = 0;
+
+        //compare all children, skipping empty text nodes
+        while (count1 < children1.getLength() && count2 < children2.getLength()) {
+            Node child1 = children1.item(count1);
+            Node child2 = children2.item(count2);
+            if (child1.getNodeType() != child2.getNodeType()) {
+                if (child1.getNodeType() == Node.TEXT_NODE && (child1.getNodeValue() == null || child1.getNodeValue().trim().equals(""))) {
+                    count1++;
+                    continue;
+                } else if (child2.getNodeType() == Node.TEXT_NODE && (child2.getNodeValue() != null || child2.getNodeValue().trim().equals(""))) {
+                    count2++;
+                    continue;
+                }
+            }
+            count1++;
+            count2++;
+            String results = compareNodes(child1, child2);
+            if (null != results) {
+                return results;
+            }
+        }
+        //TODO there must be a way to tell the parser to ignore whitespace.
+        //be sure skip any empty text nodes at the end
+        while (count1 < children1.getLength()) {
+            Node child1 = children1.item(count1);
+            if (child1.getNodeType() == Node.TEXT_NODE && child1.getNodeValue() == null || child1.getNodeValue().trim().equals("")) {
+                count1++;
+                continue;
+            }
+            return nodeNotCompared(child1);
+        }
+
+        while (count2 < children2.getLength()) {
+            Node child2 = children2.item(count2);
+            if (child2.getNodeType() == Node.TEXT_NODE && child2.getNodeValue() == null || child2.getNodeValue().trim().equals("")) {
+                count2++;
+                continue;
+            }
+            return nodeNotCompared(child2);
+        }
+
+        //        for (int i = 0; i < children1.getLength(); i++) {
+        //            Node child1 = children1.item(i);
+        //            Node child2 = children2.item(i);
+        //        }
+
+        return null;
+    }
+
+    
+	public static String nullNodeEncountered(Node node1, Node node2) {
+		String message = "Null node encountered";
+		Node nonNullNode = node1 == null ? node2 : node1;
+		char source = node1 == null ? 'B' : 'A';
+		while (nonNullNode != null) {
+			message += source + nonNullNode.getNodeName() + "\n";
+			nonNullNode = nonNullNode.getParentNode();
+		}
+		return message;
+
+		
+	}
+
+	public static String nodeNotCompared(Node node) {
+        String message = "Node node compared:";
+        while (node != null) {
+            message += node.getNodeName() + "\n";
+            node = node.getParentNode();
+        }
+
+        return message;
+    }
+
+    public static String mismatch(String mismatchtype, Node node1, Node node2) throws Exception {
+        String message = "Nodes A and B do not match because of node." + mismatchtype + "\n";
+        while (node1 != null && node2 != null) {
+            message += "A:" + node1.getNodeName() + "\n";
+            message += "B:" + node2.getNodeName() + "\n";
+            node1 = node1.getParentNode();
+            node2 = node2.getParentNode();
+        }
+
+        return message;
+    }
+
+    public static void main(String[] args) {
+    }
+	/**
+	 * @return
+	 */
+	public static EntityResolver getEntityResolver() {
+		return entityResolver;
+	}
+
+	/**
+	 * @param resolver
+	 */
+	public static void setEntityResolver(EntityResolver resolver) {
+		entityResolver = resolver;
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/InitializationTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/InitializationTests.java
new file mode 100644
index 0000000..354c4f8
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/InitializationTests.java
@@ -0,0 +1,90 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+ /*
+ * Licensed Material - Property of IBM
+ * (C) Copyright IBM Corp. 2001 - All Rights Reserved.
+ * US Government Users Restricted Rights - Use, duplication or disclosure
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
+ */
+
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBModuleRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WebModuleRef;
+/**
+ * Insert the type's description here.
+ * Creation date: (12/18/00 7:41:39 PM)
+ * @author: Administrator
+ */
+public class InitializationTests extends TestCase {
+	private final static String copyright = "(c) Copyright IBM Corporation 2001.";//$NON-NLS-1$
+/**
+ * InitializationTests constructor comment.
+ * @param name java.lang.String
+ */
+public InitializationTests(String name) {
+	super(name);
+}
+public CommonarchiveFactory getArchiveFactory() {
+	return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+}
+/**
+ * Starts the application.
+ * @param args an array of command-line arguments
+ */
+public static void main(java.lang.String[] args) {
+	String[] className = {"com.ibm.etools.archive.test.InitializationTests", "-noloading"};
+	TestRunner.main(className);
+}
+public static junit.framework.Test suite() {
+	return new TestSuite(InitializationTests.class);
+}
+public void testNewArchives() throws Exception {
+
+//        Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("*", new XMIResourceFactoryImpl());
+	ApplicationClientFile clientFile = getArchiveFactory().createApplicationClientFileInitialized("foo");
+	assertTrue(clientFile.getDeploymentDescriptor() != null);
+	
+
+	clientFile = getArchiveFactory().createApplicationClientFileInitialized("foo");
+
+	EJBJarFile ejbJarFile = getArchiveFactory().createEJBJarFileInitialized("foo");
+	assertTrue(ejbJarFile.getDeploymentDescriptor() != null);
+	
+	//The next piece is to verify no exceptions occur
+	ejbJarFile = getArchiveFactory().createEJBJarFileInitialized("foo");
+	EJBModuleRef ejbModuleRef = getArchiveFactory().createEJBModuleRef();
+	ejbModuleRef.setModuleFile(ejbJarFile);
+	
+
+	EARFile earFile = getArchiveFactory().createEARFileInitialized("foo");
+	
+	assertTrue(earFile.getDeploymentDescriptor() != null);
+	
+
+	WARFile warFile = getArchiveFactory().createWARFileInitialized("foo");
+	
+	assertTrue(warFile.getDeploymentDescriptor() != null);
+	
+
+	warFile = getArchiveFactory().createWARFileInitialized("foo");
+	WebModuleRef webModuleRef = getArchiveFactory().createWebModuleRef();
+	webModuleRef.setModuleFile(warFile);
+	
+
+}
+	
+	
+
+
+	
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/JavaTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/JavaTests.java
new file mode 100644
index 0000000..7133bd8
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/JavaTests.java
@@ -0,0 +1,61 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+ /*
+ * Licensed Material - Property of IBM
+ * (C) Copyright IBM Corp. 2001 - All Rights Reserved.
+ * US Government Users Restricted Rights - Use, duplication or disclosure
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
+ */
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+/**
+ * Insert the type's description here.
+ * Creation date: (1/17/2001 10:17:29 AM)
+ * @author: Administrator
+ */
+public class JavaTests extends TestCase {
+	private final static String copyright = "(c) Copyright IBM Corporation 2001.";//$NON-NLS-1$
+/**
+ * JavaTests constructor comment.
+ * @param name java.lang.String
+ */
+public JavaTests(String name) {
+	super(name);
+}
+public CommonarchiveFactory getArchiveFactory() {
+	return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+}
+/**
+ * Starts the application.
+ * @param args an array of command-line arguments
+ */
+public static void main(java.lang.String[] args) {
+	String[] className = {"com.ibm.etools.archive.test.JavaTests", "-noloading"};
+	TestRunner.main(className);
+}
+public static junit.framework.Test suite() {
+	return new TestSuite(JavaTests.class);
+}
+/**
+ * This method verifies that java reflection works on archives, and that
+ * class loading and java reflection is dynamic with changes to the class
+ * path of the archive
+ */
+public void testJavaReflection() throws Exception {
+/*
+	Archive anArchive = getArchiveFactory().primOpenArchive("bank35deployed.jar");
+	JavaClass cls = (JavaClass)org.eclipse.jem.internal.java.impl.JavaClassImpl.reflect("com.ibm.ejb.bank.VapAccountBean", anArchive.getContext());
+	//Ignore the constructor
+	assertTrue("Should not have been able to reflect methods" ,cls.getMethods().size() == 1 && ((Method)cls.getMethods().get(0)).getName().equals(cls.getName()));
+
+	anArchive.setExtraClasspath("ivjejb35.jar");
+
+	assertTrue("Methods should have been reflected", cls.getMethods().size() > 1);
+*/	
+}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/LooseArchiveTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/LooseArchiveTests.java
new file mode 100644
index 0000000..1c47cff
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/LooseArchiveTests.java
@@ -0,0 +1,283 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.jst.j2ee.application.Module;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveInit;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.RuntimeClasspathEntry;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseApplication;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseConfigRegister;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseConfiguration;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseLibrary;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseModule;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseWARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.looseconfig.LooseconfigPackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+
+
+public class LooseArchiveTests extends AbstractArchiveTest {
+
+	/** The current working directory */
+	protected String cwd;
+	protected URI looseConfigLoc;
+	protected URI looseAppLoc;
+	protected String looseModuleWorkspace;
+	protected String looseEARUri;
+	
+	protected static final String EJB_JAR_URI = "LooseEAREjb.jar";
+	protected static final String WAR_URI = "LooseEARWeb.war";
+	protected static final String UTIL_JAR_URI = "util.jar";
+	protected static final String WEBLIB_URI = "WEB-INF/lib/library.jar";
+	protected static final String WEBLIB_FULL_URI = "WEB-INF/lib/library.jar";
+	protected static final String OUTPUT_EAR_FILE_URI = AutomatedBVT.baseDirectory +"testOutput/LooseArchiveTests/LooseApp.ear";
+	protected static char sep = java.io.File.separatorChar;
+	/**
+	 * Constructor for LooseArchiveTests.
+	 * @param name
+	 */
+	public LooseArchiveTests(String name) {
+		super(name);
+	}
+	
+	public void testLooseConfigCreation() throws Exception {
+		Resource resource = Resource.Factory.Registry.INSTANCE.getFactory(looseConfigLoc).createResource(looseConfigLoc);
+		resource.getContents().add(createLooseConfig());
+		resource.save(new java.util.HashMap());
+	}
+	
+	public void testLooseAppCreation() throws Exception {
+		Resource resource = Resource.Factory.Registry.INSTANCE.getFactory(looseAppLoc).createResource(looseAppLoc);
+		resource.getContents().add(createLooseApplication());
+		resource.save(new java.util.HashMap());
+	}
+	
+	public void testLooseConfigOpenAndSave() throws Exception {
+		System.setProperty(LooseConfigRegister.LOOSE_CONFIG_PROPERTY, looseConfigLoc.toString());
+		EARFile ear = getArchiveFactory().openEARFile(looseEARUri);
+		verify(ear);
+		//printClasspaths(ear);
+		ear.saveAs(OUTPUT_EAR_FILE_URI);
+		ear.close();
+		ear = getArchiveFactory().openEARFile(OUTPUT_EAR_FILE_URI);
+		verify(ear);
+		ear.close();
+			
+	}
+	
+
+	
+	public void testLooseConfigUnimodeOpenAndSave() throws Exception {
+		System.setProperty(LooseConfigRegister.LOOSE_CONFIG_PROPERTY, "");
+
+		LooseConfigRegister.singleton().addLooseMapping(looseEARUri, looseAppLoc.toString());
+		EARFile ear = getArchiveFactory().openEARFile(looseEARUri);
+		verify(ear);
+		//printClasspaths(ear);
+		ear.saveAs(OUTPUT_EAR_FILE_URI);
+		ear.close(); 
+
+		ear = getArchiveFactory().openEARFile(OUTPUT_EAR_FILE_URI);
+		verify(ear);
+		ear.close();
+			
+	}
+	
+	public void testLooseConfigOpenAndReOpen() throws Exception {
+		System.setProperty(LooseConfigRegister.LOOSE_CONFIG_PROPERTY, looseConfigLoc.toString());
+		EARFile ear = getArchiveFactory().openEARFile(looseEARUri);
+		ear.close();
+		ear.reopen();
+		List jars = ear.getArchiveFiles();
+		for (int i = 0; i < jars.size(); i++) {
+			Archive archive = (Archive) jars.get(i);
+			archive.close();
+			archive.reopen(ear);
+		}
+		ear.close();
+			
+	}
+
+	protected void verify(EARFile ear) throws Exception {
+		verifyModules(ear);
+		verifyModuleRefs(ear);
+		verifyUtilAndLib(ear);
+	}
+
+	/**
+	 * Another level of verification that for each module, the module files exists
+	 * and the deployment descriptor can be read
+	 */
+	protected void verifyModuleRefs(EARFile ear) throws Exception {
+		List moduleRefs = ear.getModuleRefs();
+		int size = moduleRefs.size();
+		assertEquals("Wrong number of modules", 2, size);
+		for (int i = 0; i < size; i++) {
+			ModuleRef ref = (ModuleRef) moduleRefs.get(i);
+			assertNotNull("ModuleRef should have a module file:"+ref.getModule().getUri(), ref.getModuleFile());
+			assertNotNull("Deployment descriptor should not be null", ref.getDeploymentDescriptor());	
+		}
+	}
+	
+	/**
+	 * Verify that the util jar in the ear and the library in the war exist and are not empty
+	 */
+	protected void verifyUtilAndLib(EARFile ear) throws Exception {
+		verifyJAR(ear, UTIL_JAR_URI);
+		verifyJAR((Archive)ear.getFile(WAR_URI), WEBLIB_FULL_URI);
+	
+	}
+	
+	protected void verifyJAR(Archive parent, String uri) throws Exception {
+		assertTrue("Should contain JAR: "+uri, parent.containsFile(uri));
+		Archive jar = (Archive)parent.getFile(uri);
+		//at lease one file plus the manifest
+		assertTrue("JAR should contain a class file: "+uri, containsClassFile(jar));
+	}
+	
+	protected boolean containsClassFile(Archive jar) {
+		List files = jar.getFiles();
+		for (int i = 0; i < files.size(); i++) {
+			File aFile = (File) files.get(i);
+			if (aFile.getURI().endsWith(".class"));
+				return true;	
+		}
+		return false;
+	}
+	
+	/**
+	 * Make sure {@link Container#containsFile(String) works for loose modules
+	 */
+	public void verifyModules(EARFile ear) throws Exception {
+		List modules = ear.getDeploymentDescriptor().getModules();
+		int size = modules.size();
+		for (int i = 0; i < modules.size(); i++) {
+			Module m = (Module) modules.get(i);
+			assertTrue("EAR file should contain module file: "+m.getUri(), ear.containsFile(m.getUri()));
+		}
+		assertEquals("Wrong number of modules", 2, size);
+		for (int i = 0; i < modules.size(); i++) {
+			Module m = (Module) modules.get(i);
+			assertTrue("EAR file should contain module file: "+m.getUri(), ear.containsFile(m.getUri()));
+		}
+	}
+	
+	protected LooseConfiguration createLooseConfig() {
+		LooseConfiguration config = looseConfigFactory().createLooseConfiguration();
+		config.getApplications().add(createLooseApplication());
+		return config;
+	}
+	
+	protected LooseApplication createLooseApplication() {
+		LooseApplication app = looseConfigFactory().createLooseApplication();
+		app.setUri(looseEARUri);
+		app.setResourcesPath(looseEARUri);
+		app.setBinariesPath(looseEARUri);
+		List looseArchives = app.getLooseArchives();
+		looseArchives.add(createLooseEJB());
+		looseArchives.add(createLooseWEB());
+		looseArchives.add(createLooseUtil());
+		return app;
+	}
+	
+	protected LooseModule createLooseEJB() {
+		LooseModule mod = looseConfigFactory().createLooseModule();
+		mod.setUri(EJB_JAR_URI);
+		String absPath = looseModuleWorkspace+sep+"LooseEAREjb"+sep+"bin";
+		mod.setBinariesPath(absPath);
+		mod.setResourcesPath(absPath);
+		return mod;
+	}
+	
+	protected LooseModule createLooseWEB() {
+		LooseWARFile mod = looseConfigFactory().createLooseWARFile();
+		mod.setUri(WAR_URI);
+		String absPath = looseModuleWorkspace+sep+"LooseEARWeb"+sep+"webApplication";
+		mod.setBinariesPath(absPath);
+		mod.setResourcesPath(absPath);
+		mod.getLooseLibs().add(createLooseWebLib());
+		return mod;
+	}
+	
+	protected LooseLibrary createLooseUtil() {
+		LooseLibrary lib = looseConfigFactory().createLooseLibrary();
+		lib.setUri(UTIL_JAR_URI);
+		String absPath = looseModuleWorkspace+sep+"LooseJavaUtil"+sep+"bin";
+		lib.setBinariesPath(absPath);
+		lib.setResourcesPath(absPath);
+		return lib;
+	}
+	
+	protected LooseLibrary createLooseWebLib() {
+		LooseLibrary lib = looseConfigFactory().createLooseLibrary();
+		lib.setUri(WEBLIB_URI);
+		String absPath = looseModuleWorkspace+sep+"LooseJavaWebLib"+sep+"bin";
+		lib.setBinariesPath(absPath);
+		lib.setResourcesPath(absPath);
+		return lib;
+	}
+	
+	protected LooseconfigFactory looseConfigFactory() {
+		return LooseconfigPackage.eINSTANCE.getLooseconfigFactory();
+	}
+	
+	protected void printClasspaths(EARFile ear) {
+		List archives = ear.getArchiveFiles();
+		for (int i = 0; i < archives.size(); i++) {
+			Archive archive = (Archive) archives.get(i);
+			System.out.println("Local runtime classpath for: "+archive.getURI());
+			RuntimeClasspathEntry[] entries = archive.getLocalRuntimeClassPath();
+			for (int j = 0; j < entries.length; j++) {
+				System.out.println(entries[j]);
+			}
+			System.out.println("Full runtime classpath for: "+archive.getURI());
+			entries = archive.getFullRuntimeClassPath();
+			for (int j = 0; j < entries.length; j++) {
+				System.out.println(entries[j]);
+			}
+		}
+	}
+	
+
+	public static void main(String[] args) {
+		String[] className = { "com.ibm.etools.archive.test.LooseArchiveTests", "-noloading" };
+		TestRunner.main(className);
+	}
+
+	public static Test suite() {
+		TestSuite suite = new TestSuite("LooseArchiveTests");
+		suite.addTest(new LooseArchiveTests("testLooseConfigCreation"));
+		suite.addTest(new LooseArchiveTests("testLooseAppCreation"));
+		suite.addTest(new LooseArchiveTests("testLooseConfigOpenAndSave"));
+		suite.addTest(new LooseArchiveTests("testLooseConfigOpenAndReOpen"));
+		suite.addTest(new LooseArchiveTests("testLooseConfigUnimodeOpenAndSave"));
+		return suite;
+	}
+		/*
+		 * @see TestCase#setUp()
+		 */
+		protected void setUp() throws Exception {
+			super.setUp();
+			ArchiveInit.init();
+			LooseConfigRegister.singleton().flush();
+			cwd = AutomatedBVT.baseDirectory;
+			looseModuleWorkspace = cwd+"loose_module_workspace";
+			looseConfigLoc = URI.createFileURI(looseModuleWorkspace+sep+".metadata"+sep+".plugins"+sep+"com.ibm.etools.j2ee"+sep+"looseConfig.xmi");
+			looseAppLoc = URI.createFileURI(looseModuleWorkspace+sep+".metadata"+sep+".plugins"+sep+"com.ibm.etools.j2ee"+sep+"looseApp.xmi");
+			looseEARUri = ArchiveUtil.getOSUri(looseModuleWorkspace+sep+"LooseEAR");
+		}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/RarFileTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/RarFileTests.java
new file mode 100644
index 0000000..d5358d2
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/RarFileTests.java
@@ -0,0 +1,207 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+/*
+* Licensed Material - Property of IBM
+* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
+* US Government Users Restricted Rights - Use, duplication or disclosure
+* restricted by GSA ADP Schedule Contract with IBM Corp.
+*/
+
+import java.util.List;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.RARFile;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.jca.AuthenticationMechanism;
+import org.eclipse.jst.j2ee.jca.ConfigProperty;
+import org.eclipse.jst.j2ee.jca.Connector;
+import org.eclipse.jst.j2ee.jca.ResourceAdapter;
+import org.eclipse.jst.j2ee.jca.SecurityPermission;
+
+/**
+ * Tests for verfication that RAR support works correctly in WCCM.
+ * Creation date: (12/11/00 10:26:11 AM)
+ * @author: Jared Jurkiewicz, et al.
+ */
+public class RarFileTests extends TestCase {
+    private final static String copyright = "(c) Copyright IBM Corporation 2001."; //$NON-NLS-1$
+    /**
+     * SimpleTests constructor comment.
+     * @param name java.lang.String
+     */
+    public RarFileTests(String name) {
+        super(name);
+    }
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+    /**
+     * Starts the application.
+     * @param args an array of command-line arguments
+     */
+    public static void main(java.lang.String[] args) {
+        String[] className = { "com.ibm.etools.archive.test.RarFileTests", "-noloading" };
+        TestRunner.main(className);
+    }
+    public void printRARToConsole(Connector connector) {
+        ResourceAdapter ra = connector.getResourceAdapter();
+
+        System.out.println("ResourceAdapter from XML Deployment Descriptor");
+        System.out.println("-------------------------------------------------");
+        System.out.println(connector.getDisplayName() + ": " + connector.getDescription());
+        System.out.println("Vendor : " + connector.getVendorName());
+        System.out.println("Version : " + connector.getVersion());
+        System.out.println("Spec Version : " + connector.getSpecVersion());
+        System.out.println("EIS Type : " + connector.getEisType());
+        System.out.println("Reauthentication Support : " + ra.isReauthenticationSupport());
+        System.out.println("Transaction Support : " + ra.getTransactionSupport().getName().toLowerCase());
+
+        if (connector.getLicense() != null) {
+            System.out.println("License Required : " + connector.getLicense().isRequired());
+            System.out.println("License Description : " + connector.getLicense().getDescription());
+        }
+
+        System.out.println("Small Icon : " + connector.getSmallIcon());
+        System.out.println("Large Icon : " + connector.getLargeIcon());
+
+        List authMechs = ra.getAuthenticationMechanisms();
+        for (int i = 0; i < authMechs.size(); i++) {
+            AuthenticationMechanism auth = (AuthenticationMechanism) authMechs.get(i);
+            System.out.println("\nAuthentication Mechanism:");
+            System.out.println("Description : " + auth.getDescription());
+            System.out.println("Type : " + auth.getAuthenticationMechanismType().getName().toLowerCase());
+            System.out.println("Credential Interface : " + auth.getCredentialInterface());
+        }
+        System.out.println("\nRegistered classes:");
+        System.out.println("\t" + ra.getConnectionFactoryImplClass() + " implements ");
+        System.out.println("\t\t" + ra.getConnectionFactoryInterface());
+        System.out.println("\t" + ra.getConnectionImplClass() + " implements ");
+        System.out.println("\t\t" + ra.getConnectionInterface());
+        System.out.println("\tManagedConnectionFactory: " + ra.getManagedConnectionFactoryClass());
+
+        List configs = ra.getConfigProperties();
+        System.out.println("\nConfig-properties:");
+        for (int i = 0; i < configs.size(); i++) {
+            ConfigProperty prop = (ConfigProperty) configs.get(i);
+            System.out.println("\tConfig-property : " + prop.getName());
+            System.out.println("\tType : " + prop.getType() + " / Value : " + prop.getValue());
+            System.out.println("\tDescription : " + prop.getDescription() + "\n");
+        }
+
+        List secs = ra.getSecurityPermissions();
+        System.out.println("\nSecurity-Permissions:");
+        for (int i = 0; i < secs.size(); i++) {
+            SecurityPermission prop = (SecurityPermission) secs.get(i);
+            System.out.println("\tConfig-Description : " + prop.getDescription());
+            System.out.println("\tSpecification : " + prop.getSpecification() + "\n");
+        }
+
+    }
+    public static junit.framework.Test suite() {
+        return new TestSuite(RarFileTests.class);
+    }
+    public void testaddCopyModule() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.rar";
+        RARFile rarFile = (RARFile) getArchiveFactory().openArchive(in);
+
+        rarFile.getDeploymentDescriptor();
+
+        EARFile newEarFile = getArchiveFactory().createEARFileInitialized(AutomatedBVT.baseDirectory + "testOutput/CopyTests/newEarWithRarCopiedModule.ear");
+
+        newEarFile.addCopy(rarFile);
+        RARFile copied = (RARFile) newEarFile.getModuleFiles().get(0);
+        assertTrue(copied.isDeploymentDescriptorSet());
+        assertTrue(copied.getDeploymentDescriptor() == copied.getDeploymentDescriptorResource().getContents().get(0));
+        assertTrue(copied.getDeploymentDescriptor() != rarFile.getDeploymentDescriptor());
+        assertTrue(rarFile.getFiles().size() == copied.getFiles().size());
+
+        newEarFile.saveNoReopen();
+    }
+    public void testexpandRarModule() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.rar";
+        RARFile rarFile = (RARFile) getArchiveFactory().openArchive(in);
+        rarFile.setURI("sample.rar");
+
+        rarFile.getDeploymentDescriptor();
+
+        EARFile newEarFile = getArchiveFactory().createEARFileInitialized(AutomatedBVT.baseDirectory + "testOutput/RarTests/newEarWithRarModule.ear");
+        newEarFile.addCopy(rarFile);
+
+        newEarFile.saveNoReopen();
+
+        String out = AutomatedBVT.baseDirectory + "testOutput/RarTests/Rar-containing-ear-out.ear";
+        newEarFile.extractTo(out, Archive.EXPAND_RAR_FILES);
+    }
+    
+    /**
+     * Very basic method to open an archive and save it as a directory to a new destination.  Requires visual inspection
+     * for verification.  Nested wars and ejb jars will be exploded but other nested jars will not
+     */
+    public void testOpenAndExtract() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.rar";
+        RARFile rarFile = (RARFile) getArchiveFactory().openArchive(in);
+        String out = AutomatedBVT.baseDirectory + "testOutput/Exploded_RAR_Dir/";
+        rarFile.extractToConnectorDirectory(out, Archive.EXPAND_ALL);
+    }
+    /**
+     * Opens an ear file, and for each module, writes it's dd components to the console.  Requires visual inspection
+     * for verification
+     */
+
+    public void testOpenAndRead() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.rar";
+        RARFile rarFile = (RARFile) getArchiveFactory().openArchive(in);
+
+		Connector dd = rarFile.getDeploymentDescriptor();
+		//printRARToConsole(dd);
+	}
+	
+	public void testopenRarEar() throws Exception {
+		EARFile earFile = (EARFile) getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "testrar.ear");
+		assertTrue(earFile.getDeploymentDescriptor().getFirstModule("sample.rar") != null);
+	}
+	
+	public void testSaveRarEar() throws Exception {
+		String in = AutomatedBVT.baseDirectory + "sample.rar";
+		RARFile rarFile = (RARFile) getArchiveFactory().openArchive(in);
+		rarFile.setURI("sample.rar");
+
+        rarFile.getDeploymentDescriptor();
+
+        EARFile newEarFile = getArchiveFactory().createEARFileInitialized(AutomatedBVT.baseDirectory + "testOutput/RarTests/newEarWithRarModule_saved.ear");
+        newEarFile.addCopy(rarFile);
+
+        assertNotNull("Module wasn't found!", newEarFile.getDeploymentDescriptor().getFirstModule("sample.rar"));
+
+        newEarFile.save();
+    }
+
+    public void testJ2Cauth() throws Exception {
+        String in = AutomatedBVT.baseDirectory + "sample.rar";
+        RARFile rarFile = (RARFile) getArchiveFactory().openArchive(in);
+
+        Connector dd = rarFile.getDeploymentDescriptor();
+
+        ResourceAdapter rd = dd.getResourceAdapter();
+
+        EList myAuthList = rd.getAuthenticationMechanisms();
+//        System.out.println("Number of auth mechanisms is: " + myAuthList.size());
+//        for (int i = 0; i < myAuthList.size(); i++) {
+//            System.out.println("Auth type is: " + ((AuthenticationMechanism) myAuthList.get(i)).getAuthenticationMechanismType());
+//            System.out.println("Auth type is: " + ((AuthenticationMechanism) myAuthList.get(i)).getAuthenticationMechanismType().getName());
+//        }
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/ResourceTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/ResourceTests.java
new file mode 100644
index 0000000..29ca510
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/ResourceTests.java
@@ -0,0 +1,112 @@
+/*
+ * Created on Mar 13, 2003
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.archive.test;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.jst.j2ee.common.CommonPackage;
+import org.eclipse.jst.j2ee.common.EjbRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ApplicationClientFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveInit;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.EnterpriseBean;
+
+
+/**
+ * @author schacher
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class ResourceTests extends AbstractArchiveTest {
+
+	/**
+	 * @param name
+	 */
+	public ResourceTests(String name) {
+		super(name);
+	}
+	
+	/**
+	 * Starts the application.
+	 * @param args an array of command-line arguments
+	 */
+	public static void main(java.lang.String[] args) {
+		String[] className = {"com.ibm.etools.archive.test.ResourceTests", "-noloading"};
+		TestRunner.main(className);
+	}
+	public static junit.framework.Test suite() {
+		return new TestSuite(ResourceTests.class);
+	}
+
+	protected List findOccurrences(List resources, String uri) {
+		List result = new ArrayList(1);
+		for (int i = 0; i < resources.size(); i++) {
+			Resource aResource = (Resource) resources.get(i);
+			if (uri.equals(aResource.getURI().toString()))
+				result.add(aResource);
+		}
+		return result;
+	}
+
+	public void testResourceCreation() throws Exception {
+		String uri = "META-INF/client-resource.xmi";
+		ApplicationClientFile appClientFile = getArchiveFactory().createApplicationClientFileInitialized("test.jar");
+		Resource res = null;
+		boolean exceptionCaught = false;
+		try {
+			res = appClientFile.getMofResource(uri);
+		} catch (java.io.FileNotFoundException e) {
+			exceptionCaught = true;
+			List foundResources = findOccurrences(appClientFile.getResourceSet().getResources(), uri);
+			assertTrue("There should exist exactly one resource", foundResources.size() == 1);
+			Resource foundResource = (Resource)foundResources.get(0);
+			assertFalse("The resource should be unloaded", foundResource.isLoaded());
+			res = appClientFile.makeMofResource(uri);
+			assertTrue("Resource should not be null", res != null);
+			foundResources = findOccurrences(appClientFile.getResourceSet().getResources(), uri);
+			assertTrue("There should exist exactly one resource", foundResources.size() == 1);
+			foundResource = (Resource)foundResources.get(0);
+			assertTrue("The resource should exist", foundResource != null);
+			assertFalse("The resource should be unloaded", foundResource.isLoaded());		
+		}
+		assertTrue("Exception should have been caught", exceptionCaught);
+		Collection loadedResources = appClientFile.getLoadedMofResources();
+		assertTrue("Loaded resources should be size 1", loadedResources.size() == 1);
+		EjbRef aRef = CommonPackage.eINSTANCE.getCommonFactory().createEjbRef();
+		res.getContents().add(aRef);
+		loadedResources = appClientFile.getLoadedMofResources();
+		assertTrue("Loaded resources should be size 2", loadedResources.size() == 2);
+	}
+	
+	public void testResourceDirty() throws Exception {
+		EJBJarFile jar = getArchiveFactory().openEJB11JarFile(AutomatedBVT.baseDirectory + "bankejbs.jar");
+		EnterpriseBean bean = (EnterpriseBean)jar.getDeploymentDescriptor().getEnterpriseBeans().get(0);
+		
+		EARFile newEar = getArchiveFactory().createEARFileInitialized("test");
+		EJBJarFile copyJar = (EJBJarFile) newEar.addCopy(jar);
+		
+		assertFalse("dd should not be dirty", copyJar.getDeploymentDescriptorResource().isModified());
+	}
+
+	/* (non-Javadoc)
+	 * @see junit.framework.TestCase#setUp()
+	 */
+	protected void setUp() throws Exception {
+		super.setUp();
+		ArchiveInit.init();
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/SaveTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/SaveTests.java
new file mode 100644
index 0000000..046c116
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/SaveTests.java
@@ -0,0 +1,106 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+/*
+* Licensed Material - Property of IBM
+* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
+* US Government Users Restricted Rights - Use, duplication or disclosure
+* restricted by GSA ADP Schedule Contract with IBM Corp.
+*/
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ReadOnlyDirectory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveConstants;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+
+/**
+ * Insert the type's description here.
+ * Creation date: (12/21/00 3:04:36 PM)
+ * @author: Administrator
+ */
+public class SaveTests extends TestCase {
+    private final static String copyright = "(c) Copyright IBM Corporation 2001."; //$NON-NLS-1$
+    /**
+     * SaveTests constructor comment.
+     * @param name java.lang.String
+     */
+    public SaveTests(String name) {
+        super(name);
+    }
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+    /**
+     * Starts the application.
+     * @param args an array of command-line arguments
+     */
+    public static void main(java.lang.String[] args) {
+        String[] className = { "com.ibm.etools.archive.test.SaveTests", "-noloading" };
+        TestRunner.main(className);
+    }
+    public static junit.framework.Test suite() {
+        return new TestSuite(SaveTests.class);
+    }
+    /**
+     * This scenario tests the case of opening an archive, modifying it's contents, and saving to the same uri from which it was
+     * loaded.  The problem is that the reading of input streams of individual entries in an archive is deferred until requested through
+     * the api or save time; therefore, an open file exists on the source file.  To get around this, the implementation saves the archive
+     * to a temp file, then deletes (or renames, based on setting, to be implemented) the old file, renames the temp file, and does some
+     * housekeeping on the saved archive, with it's load strategy and contained files
+     */
+    public void testSave() throws Exception {
+
+        //First make a copy of our reference file
+        Archive anArchive = getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "example2.war");
+        anArchive.saveAsNoReopen(AutomatedBVT.baseDirectory + "testOutput/SaveTests/copy.war");
+        anArchive = null;
+
+        WARFile aWarFile = (WARFile) getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "testOutput/SaveTests/copy.war");
+        ReadOnlyDirectory sampleDirectory = getArchiveFactory().openReadOnlyDirectory(AutomatedBVT.baseDirectory + "WarTestClasses");
+        int initialSize = aWarFile.getClasses().size();
+        File aFile = sampleDirectory.getFileInSelfOrSubdirectory("com/ibm/etools/archive/test/WARFileTests.class");
+        aWarFile.addCopyClass(aFile);
+        assertTrue(aWarFile.getClasses().size() == initialSize + 1);
+
+        String classURI = ArchiveUtil.concatUri(ArchiveConstants.WEBAPP_CLASSES_URI, aFile.getURI(), '/');
+        assertTrue(aWarFile.containsFile(classURI));
+        aWarFile.save();
+
+        File classFile = aWarFile.getFile(classURI);
+        assertTrue("File should not be null", classFile != null);
+        assertTrue("Wrong loading archive", classFile.getLoadingContainer() == aWarFile);
+        assertTrue("Wrong original URI", classFile.getOriginalURI().equals(classURI));
+
+        aWarFile.saveAs("testOutput/SaveTests/copy2.war");
+        aWarFile.save();
+    }
+
+    /**
+     * This scenario is similar to @link #testSave, except that it tests with a directory instead of a jar file
+     */
+    public void testSaveDirectory() throws Exception {
+
+        //First make a copy of our reference file
+        Archive anArchive = getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "sample.ear");
+        anArchive.saveAsNoReopen(AutomatedBVT.baseDirectory + "testOutput/SaveTests/sample-copied.ear");
+        anArchive = null;
+
+        EARFile anEARFile = (EARFile) getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "testOutput/SaveTests/sample-copied.ear");
+
+        anEARFile.getDeploymentDescriptor();
+        
+
+        anEARFile.extractNoReopen(Archive.EXPAND_WAR_FILES);
+
+    }
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/SecurityRoleTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/SecurityRoleTests.java
new file mode 100644
index 0000000..4ac0dc4
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/SecurityRoleTests.java
@@ -0,0 +1,119 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+ /*
+ * Licensed Material - Property of IBM
+ * (C) Copyright IBM Corp. 2001 - All Rights Reserved.
+ * US Government Users Restricted Rights - Use, duplication or disclosure
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
+ */
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jst.j2ee.common.CommonFactory;
+import org.eclipse.jst.j2ee.common.CommonPackage;
+import org.eclipse.jst.j2ee.common.SecurityRole;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBModuleRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WebModuleRef;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+
+/**
+ * Insert the type's description here.
+ * Creation date: (02/09/01 12:05:18 AM)
+ * @author: Administrator
+ */
+public class SecurityRoleTests extends AbstractArchiveTest {
+	private final static String copyright = "(c) Copyright IBM Corporation 2001.";//$NON-NLS-1$
+/**
+ * SecurityRoleTests constructor comment.
+ * @param name java.lang.String
+ */
+public SecurityRoleTests(String name) {
+	super(name);
+}
+public CommonFactory getCommonFactory() {
+	return CommonPackage.eINSTANCE.getCommonFactory();
+}
+/**
+ * Starts the application.
+ * @param args an array of command-line arguments
+ */
+public static void main(java.lang.String[] args) {
+	String[] className = {"com.ibm.etools.archive.test.SecurityRoleTests", "-noloading"};
+	TestRunner.main(className);
+}
+public static junit.framework.Test suite() {
+	return new TestSuite(SecurityRoleTests.class);
+}
+public void testPushDownCopy() throws Exception {
+
+	EARFile earFile = getArchiveFactory().openEARFile(AutomatedBVT.baseDirectory + "sample.ear");
+
+	WARFile warFile = (WARFile)earFile.getWARFiles().get(0);
+
+	EJBJarFile ejbJarFile = (EJBJarFile) earFile.getEJBJarFiles().get(0);
+
+	SecurityRole aRole = getCommonFactory().createSecurityRole();
+	aRole.setRoleName("administrator");
+	aRole.setDescription("The all powerful");
+	earFile.getDeploymentDescriptor().getSecurityRoles().add(aRole);
+	earFile.pushDownRole(aRole);
+
+	assertTrue("Push down failed for ejb jar", ejbJarFile.getDeploymentDescriptor().getAssemblyDescriptor().getSecurityRoleNamed("administrator") != null);
+	assertTrue("Push down failed for war", warFile.getDeploymentDescriptor().getSecurityRoleNamed("administrator") != null);
+
+	earFile.close();
+
+}
+public void testRollupAddAndPushDown() throws Exception {
+
+	EARFile earFile = getArchiveFactory().openEARFile(AutomatedBVT.baseDirectory +"sample.ear");
+
+	WebModuleRef webRef = (WebModuleRef)earFile.getWebModuleRefs().get(0);
+
+	EJBModuleRef ejbModRef = (EJBModuleRef) earFile.getEJBModuleRefs().get(0);
+
+	SecurityRole aRole = getCommonFactory().createSecurityRole();
+	aRole.setRoleName("Joe");
+	aRole.setDescription("New description");
+	webRef.getWebApp().getSecurityRoles().add(aRole);
+
+	aRole = getCommonFactory().createSecurityRole();
+	aRole.setRoleName("administrator");
+	aRole.setDescription("The all powerful");
+	
+	webRef.getWebApp().getSecurityRoles().add(aRole);
+
+	//Test the rollup
+	earFile.rollUpRoles();
+	//We cheated here because we already knew there were two roles in the ejb jar
+	//one of which is named Joe, and zero roles in the war file
+	assertTrue("Roll up not right", earFile.getDeploymentDescriptor().getSecurityRoles().size() == 5);
+
+	aRole = getCommonFactory().createSecurityRole();
+	aRole.setRoleName("manager");
+	aRole.setDescription("the manager");
+	earFile.addCopy(aRole, webRef.getModule());
+
+	//Test the add and rollup
+	assertTrue("Add copy not right", earFile.getDeploymentDescriptor().getSecurityRoles().size() == 6 
+		&& earFile.getDeploymentDescriptor().containsSecurityRole(aRole.getRoleName())
+		&& webRef.getWebApp().containsSecurityRole(aRole.getRoleName()));
+
+	//Test the push down
+	earFile.renameSecurityRole("Joe", "guest");
+
+	assertTrue("Push down not right", !earFile.getDeploymentDescriptor().containsSecurityRole("Joe")
+		&& earFile.getDeploymentDescriptor().containsSecurityRole("guest")
+		&& !webRef.getWebApp().containsSecurityRole("Joe")
+		&& webRef.getWebApp().containsSecurityRole("guest")
+		&& !ejbModRef.getEJBJar().containsSecurityRole("Joe")
+		&& ejbModRef.getEJBJar().containsSecurityRole("guest"));
+
+	earFile.saveAsNoReopen(AutomatedBVT.baseDirectory +"testOutput/SecurityRoleTests/newSample.ear");
+	
+}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/SimpleTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/SimpleTests.java
new file mode 100644
index 0000000..5ba873b
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/SimpleTests.java
@@ -0,0 +1,433 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+/*
+* Licensed Material - Property of IBM
+* (C) Copyright IBM Corp. 2001 - All Rights Reserved.
+* US Government Users Restricted Rights - Use, duplication or disclosure
+* restricted by GSA ADP Schedule Contract with IBM Corp.
+*/
+
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.jst.j2ee.application.Application;
+import org.eclipse.jst.j2ee.application.Module;
+import org.eclipse.jst.j2ee.common.CommonPackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBJarFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EJBModuleRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ValidateXmlCommand;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WebModuleRef;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.XmlValidationResult;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.SaveFailureException;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveInit;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveOptions;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.ejb.ContainerManagedEntity;
+import org.eclipse.jst.j2ee.ejb.EJBJar;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.ejb.Entity;
+import org.eclipse.jst.j2ee.ejb.Session;
+import org.eclipse.jst.j2ee.webapplication.WebApp;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+
+/**
+ * Insert the type's description here.
+ * Creation date: (12/11/00 10:26:11 AM)
+ * @author: Administrator
+ */
+public class SimpleTests extends TestCase {
+    private final static String copyright = "(c) Copyright IBM Corporation 2001."; //$NON-NLS-1$
+    /**
+     * SimpleTests constructor comment.
+     * @param name java.lang.String
+     */
+    public SimpleTests(String name) {
+        super(name);
+    }
+    public boolean isEmpty(Collection adapters) {
+        if (adapters.isEmpty())
+            return true;
+        for (Iterator iter = adapters.iterator(); iter.hasNext();) {
+            if (iter.next() != null)
+                return false;
+        }
+        return true;
+    }
+    public CommonarchiveFactory getArchiveFactory() {
+        return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+    }
+    /**
+     * Starts the application.
+     * @param args an array of command-line arguments
+     */
+    public static void main(java.lang.String[] args) {
+        String[] className = { "com.ibm.etools.archive.test.SimpleTests", "-noloading" };
+        TestRunner.main(className);
+    }
+    public void printApplToConsole(Application appl) {
+
+        List modules = appl.getModules();
+        for (int i = 0; i < modules.size(); i++) {
+            System.out.println(modules.get(i));
+        }
+    }
+    public void printEJBJarToConsole(EJBJar ejbJar) {
+
+        List ejbs = ejbJar.getEnterpriseBeans();
+        for (int i = 0; i < ejbs.size(); i++) {
+            System.out.println(ejbs.get(i));
+        }
+
+    }
+    public void printWebAppToConsole(WebApp webApp) {
+        List servlets = webApp.getServlets();
+
+        for (int i = 0; i < servlets.size(); i++) {
+            System.out.println(servlets.get(i));
+        }
+
+    }
+    public static junit.framework.Test suite() {
+        return new TestSuite(SimpleTests.class);
+    }
+    public void testContainerManagedEntityExtensionRead() throws Exception {
+        CommonarchiveFactory factory = CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+        EJBJarFile jarFile = (EJBJarFile) factory.openArchive(AutomatedBVT.baseDirectory + "cmpsample.jar");
+        EJBJar jar = jarFile.getDeploymentDescriptor();
+     
+    }
+    public void testEJB11JarAdd() throws Exception {
+        EARFile _earFile = getArchiveFactory().createEARFileInitialized(AutomatedBVT.baseDirectory + "testOutput/TestEAREJBAdd.ear");
+        CommonarchiveFactory factory = CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+        EJBJarFile jar = (EJBJarFile) factory.openArchive(AutomatedBVT.baseDirectory + "ejb_compat_entitycmp.jar");
+        jar.setURI(AutomatedBVT.baseDirectory + "ejb_compat_entitycmp.jar");
+        _earFile.addCopy(jar);
+        _earFile.save();
+    }
+    public void testEJBSetAbstractSchemaName() throws Exception {
+        String testSm = AutomatedBVT.baseDirectory + "TestSchema";
+        CommonarchiveFactory factory = CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+        EJBJarFile jarFile = (EJBJarFile) factory.openArchive(AutomatedBVT.baseDirectory + "cmpsample.jar");
+        EJBJar jar = jarFile.getDeploymentDescriptor();
+        List lst = jar.getContainerManagedBeans();
+
+        //I know this will be a CMP, so, lets try set/get on it..
+        ContainerManagedEntity cmp = (ContainerManagedEntity) lst.get(0);
+
+        //System.out.println("Setting Schema name to: " + testSm);
+        cmp.setAbstractSchemaName(testSm);
+        //Retrieve it and see if it matches
+        //System.out.println("Getting schema name: " + cmp.getAbstractSchemaName());
+        assertTrue(cmp.getAbstractSchemaName().equals(testSm));
+    }
+    /**
+     * This excercises the index adapter on Container
+     */
+    public void testIndexing() throws Exception {
+        Archive anArchive = getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "foo.jar");
+        String uri = "com/ibm/etools/archive/test/SimpleTests.java";
+
+        List files = anArchive.getFiles();
+
+        File aFile = anArchive.getFile(uri);
+        assertTrue("Adapter should be attached to aFile", !isEmpty(aFile.eAdapters()));
+
+        files.remove(aFile);
+
+        assertTrue("Adapter should not be attached to aFile", isEmpty(aFile.eAdapters()));
+
+        assertTrue("Contains should return false", !anArchive.containsFile(uri));
+
+        File copy = anArchive.addCopy(aFile);
+
+        assertTrue("Contains should return true", anArchive.containsFile(uri));
+
+        String renamedURI = "com/ibm/goobledygook";
+        copy.setURI(renamedURI);
+
+        assertTrue("Contains should return false for old uri", !anArchive.containsFile(uri));
+
+        assertTrue("Contains should return true for new uri", anArchive.containsFile(renamedURI));
+
+    }
+    /**
+     * This excercises the index adapter on Container
+     * Tests notifications with add/remove of lists, and that adapters are set post copy
+     */
+    public void testIndexingWithCollections() throws Exception {
+        Archive anArchive = getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "bankejbs.jar");
+        EARFile earFile = getArchiveFactory().createEARFileInitialized(AutomatedBVT.baseDirectory + "bar.ear");
+        earFile.addCopy(anArchive);
+        anArchive = (Archive) earFile.getFile(AutomatedBVT.baseDirectory + "bankejbs.jar");
+
+        assertTrue("Index out of sync", !anArchive.getFiles().isEmpty() && anArchive.isIndexed());
+        List files = anArchive.getFiles();
+        for (int i = 0; i < files.size(); i++) {
+            File aFile = (File) files.get(i);
+            assertTrue("Index out of whack; containment should be true", anArchive.containsFile(aFile.getURI()));
+            assertTrue("Adapter should be attached to aFile", !isEmpty(aFile.eAdapters()));
+        }
+
+        List filesToAdd = getArchiveFactory().openReadOnlyDirectory(AutomatedBVT.baseDirectory + "WarTestClasses").getFilesRecursive();
+        List addedFiles = anArchive.addCopyFiles(filesToAdd);
+
+        assertTrue("Files added incorrectly", !filesToAdd.isEmpty() && filesToAdd.size() == addedFiles.size());
+
+        for (int i = 0; i < addedFiles.size(); i++) {
+            File aFile = (File) addedFiles.get(i);
+            assertTrue("Contains should be true", anArchive.containsFile(aFile.getURI()));
+            assertTrue("Should be same instance", anArchive.getFile(aFile.getURI()) == aFile);
+            assertTrue("Adapter should be attached to aFile", !isEmpty(aFile.eAdapters()));
+        }
+        anArchive.getFiles().removeAll(addedFiles);
+
+        for (int i = 0; i < addedFiles.size(); i++) {
+            File aFile = (File) addedFiles.get(i);
+            assertTrue("Adapter should not be attached to aFile", isEmpty(aFile.eAdapters()));
+            assertTrue("Contains should return false", !anArchive.containsFile(aFile.getURI()));
+        }
+        getArchiveFactory().closeOpenArchives();
+    }
+    /**
+     * Very basic method to open an archive and save it as a directory to a new destination.  Requires visual inspection
+     * for verification.  Nested jars will not be exploded
+     */
+    public void testOpenAndExtract1() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.ear";
+        EARFile earFile = (EARFile) getArchiveFactory().openArchive(in);
+        //System.out.println("EAR spec version " + earFile.getSpecVersion() + " detected.");
+
+        String out = AutomatedBVT.baseDirectory + "testOutput/SimpleTests/sample-expanded-out1.ear";
+        earFile.extractTo(out, Archive.EXPAND_NONE);
+        earFile.close();
+    }
+    /**
+     * Very basic method to open an archive and save it as a directory to a new destination.  Requires visual inspection
+     * for verification.  Nested wars will be exploded but other nested jars will not.  This method emulates the websphere install.
+     * the archive is opened as read only; test that no temp files are created by putting a breakpoint in ArchiveUtil#createTempFile(String, File)
+     * Also the archive is opened with java reflection disabled.  Verify no reflection occurs by putting a breakpoints in the constructors
+     * of JavaJDKAdapterFactory, and the method reflectValues() in each of the subclasses of JdkAdaptor.
+     */
+    public void testOpenAndExtract2() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.ear";
+        ArchiveOptions options = new ArchiveOptions();
+        options.setIsReadOnly(true);
+        options.setUseJavaReflection(false);
+        EARFile earFile = (EARFile) getArchiveFactory().openArchive(options, in);
+        //The following code forces the load of all the deployment descriptors, just to make sure java reflection doesn't happen
+        List moduleRefs = earFile.getModuleRefs();
+        for (int i = 0; i < moduleRefs.size(); i++) {
+            ModuleRef m = (ModuleRef) moduleRefs.get(i);
+            m.getDeploymentDescriptor();
+            
+        }
+
+        String out = "testOutput/SimpleTests/sample-expanded-out2.ear";
+        earFile.extractTo(out, Archive.EXPAND_WAR_FILES);
+        earFile.close();
+    }
+    /**
+     * Very basic method to open an archive and save it as a directory to a new destination.  Requires visual inspection
+     * for verification.  Nested wars and ejb jars will be exploded but other nested jars will not
+     */
+    public void testOpenAndExtract3() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.ear";
+        EARFile earFile = (EARFile) getArchiveFactory().openArchive(in);
+        String out = AutomatedBVT.baseDirectory + "testOutput/SimpleTests/sample-expanded-out3.ear";
+        earFile.extractTo(out, Archive.EXPAND_WAR_FILES | Archive.EXPAND_EJBJAR_FILES);
+        earFile.close();
+    }
+    /**
+     * Opens an ear file, and for each module, writes it's dd components to the console.  Requires visual inspection
+     * for verification
+     */
+    public void testOpenAndRead() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.ear";
+        EARFile earFile = (EARFile) getArchiveFactory().openArchive(in);
+
+        Application appl = earFile.getDeploymentDescriptor();
+        printApplToConsole(appl);
+
+        List moduleRefs = earFile.getModuleRefs();
+
+        for (int i = 0; i < moduleRefs.size(); i++) {
+            ModuleRef aModuleRef = (ModuleRef) moduleRefs.get(i);
+            if (aModuleRef.isWeb()) {
+                WebModuleRef wRef = (WebModuleRef) aModuleRef;
+                printWebAppToConsole(wRef.getWebApp());
+              
+            } else if (aModuleRef.isEJB()) {
+                EJBModuleRef eRef = (EJBModuleRef) aModuleRef;
+                printEJBJarToConsole(eRef.getEJBJar());
+                
+            }
+        }
+    }
+    /**
+     * Very basic method to open an archive and save it as a jar file to a new destination.  Requires visual inspection
+     * for verification
+     */
+    public void testOpenAndSaveAsJarFile() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.ear";
+        EARFile earFile = (EARFile) getArchiveFactory().openArchive(in);
+        String out = AutomatedBVT.baseDirectory + "testOutput/SimpleTests/sample-copy.ear";
+        earFile.saveAsNoReopen(out);
+    }
+    /**
+     * Test case created as a result of a defect report that currently cannot be reproduced; open an expanded ear file and save it out
+     * as a jar file
+     */
+    public void testOpenDirectoryAndSaveAsJarFile() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample_expanded.ear";
+        in = new java.io.File(in).getAbsolutePath();
+        //System.out.println(in);
+        EARFile earFile = (EARFile) getArchiveFactory().openArchive(in);
+        //Added this line to see if loading the dd would make a difference
+        earFile.getDeploymentDescriptor();
+        String out = "testOutput/SimpleTests/sample-jarred.ear";
+        out = new java.io.File(out).getAbsolutePath();
+        //System.out.println(out);
+        earFile.saveAsNoReopen(out);
+    }
+    /**
+     * @see Archive#canClose()
+     */
+    public void testSafeClose() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.ear";
+        EARFile earFile = getArchiveFactory().openEARFile(in);
+        List modules = earFile.getDeploymentDescriptor().getModules();
+        EJBJarFile ejbJarFile = null;
+
+        for (int i = 0; i < modules.size(); i++) {
+            Module aModule = (Module) modules.get(i);
+            if (aModule.isEjbModule()) {
+                ejbJarFile = (EJBJarFile) earFile.getFile(aModule.getUri());
+                //System.out.println("EJBJar spec version " + ejbJarFile.getSpecVersion() + " detected.");
+
+                break;
+            }
+        }
+
+        assertTrue("EJBJarFile should not be null", ejbJarFile != null);
+
+        EARFile newEarFile = getArchiveFactory().createEARFileInitialized("testOutput/SimpleTests/safeClose1.ear");
+        newEarFile.addCopy(ejbJarFile);
+        assertTrue(!earFile.getDependentOpenArchives().isEmpty() && !ejbJarFile.getDependentOpenArchives().isEmpty());
+
+        newEarFile.save();
+        assertTrue(earFile.getDependentOpenArchives().isEmpty() && ejbJarFile.getDependentOpenArchives().isEmpty());
+        earFile.close();
+        newEarFile.close();
+    }
+    /**
+     * CMVC defect 99544 - If a save fails and the file didn't exist, one should not
+     * be created
+     */
+    public void testSaveFailure() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.ear";
+        String out = AutomatedBVT.baseDirectory + "testOutput/SimpleTests/saveFailure.ear";
+        EARFile earFile = getArchiveFactory().openEARFile(in);
+        List modules = earFile.getDeploymentDescriptor().getModules();
+        EJBJarFile ejbJarFile = null;
+
+        for (int i = 0; i < modules.size(); i++) {
+            Module aModule = (Module) modules.get(i);
+            if (aModule.isEjbModule()) {
+                ejbJarFile = (EJBJarFile) earFile.getFile(aModule.getUri());
+                break;
+            }
+        }
+
+        assertTrue("EJBJarFile should not be null", ejbJarFile != null);
+
+        EARFile newEarFile = getArchiveFactory().createEARFileInitialized(out);
+        newEarFile.addCopy(ejbJarFile);
+        ejbJarFile.close();
+        try {
+            newEarFile.save();
+        } catch (SaveFailureException expected) {
+            System.out.println("Expected save failure occurred");
+            return;
+        } finally {
+            assertTrue("File should not exist", !(new java.io.File(out).exists()));
+            getArchiveFactory().closeOpenArchives();
+        }
+        assertTrue("Save should have failed", false);
+    }
+    /**
+     * Opens an ear file, makes a few changes to ensure the xml is not valid, and validates the xml in all the dds; verifies that
+     * sax exceptions are collected
+     */
+    public void testXmlValidation() throws Exception {
+
+        String in = AutomatedBVT.baseDirectory + "sample.ear";
+        EARFile earFile = getArchiveFactory().openEARFile(in);
+
+        Application appl = earFile.getDeploymentDescriptor();
+        appl.getSecurityRoles().add(CommonPackage.eINSTANCE.getCommonFactory().createSecurityRole());
+
+        List moduleFiles = earFile.getModuleFiles();
+
+        for (int i = 0; i < moduleFiles.size(); i++) {
+            ModuleFile aModuleFile = (ModuleFile) moduleFiles.get(i);
+            if (aModuleFile.isWARFile()) {
+                WARFile aWarFile = (WARFile) aModuleFile;
+                aWarFile.getDeploymentDescriptor().getServlets().add(WebapplicationPackage.eINSTANCE.getWebapplicationFactory().createServlet());
+            } else if (aModuleFile.isEJBJarFile()) {
+                EJBJarFile anEjbJarFile = (EJBJarFile) aModuleFile;
+                anEjbJarFile.getDeploymentDescriptor().getEnterpriseBeans().add(EjbPackage.eINSTANCE.getEjbFactory().createEntity());
+                anEjbJarFile.getDeploymentDescriptor().getAssemblyDescriptor().getSecurityRoles().add(CommonPackage.eINSTANCE.getCommonFactory().createSecurityRole());
+            }
+        }
+        Command cmd = new ValidateXmlCommand(earFile);
+        cmd.execute();
+        List errors = (List) cmd.getResult();
+        assertTrue("Total validation errors should be 3, instead of "+errors.size(), errors.size() == 3);
+        for (int i = 0; i < 3; i++) {
+            XmlValidationResult result = (XmlValidationResult) errors.get(i);
+            if (i == 1)
+                assertTrue("The ejb module should have 2 errors instead of "+ result.getCaughtExceptions().size(), result.getCaughtExceptions().size() == 2);
+            else
+                assertTrue("The web module should have 1 error instead of "+ result.getCaughtExceptions().size(), result.getCaughtExceptions().size() == 1);
+        }
+        earFile.close();
+    }
+    protected void setUp() throws Exception {
+        super.setUp();
+        ArchiveInit.init();
+    }
+    
+   	public void testReadEmptyTags() throws Exception {
+   		String uri = AutomatedBVT.baseDirectory + "CHKJ280X.jar";
+   		EJBJarFile jarfile = getArchiveFactory().openEJBJarFile(uri);
+   		EJBJar jar = jarfile.getDeploymentDescriptor();
+   		Session sess = (Session) jar.getEnterpriseBeans().get(0);
+   		Entity entity = (Entity) jar.getEnterpriseBeans().get(1);
+   		assertFalse("Value should be unset", entity.isSetReentrant());
+		assertFalse("Value should be unset", sess.isSetSessionType());
+		assertFalse("Value should be unset", sess.isSetTransactionType()); 
+}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/TestInvalidXmlMultiplicity.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/TestInvalidXmlMultiplicity.java
new file mode 100644
index 0000000..d62ec7d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/TestInvalidXmlMultiplicity.java
@@ -0,0 +1,79 @@
+/*
+ * Created on Dec 2, 2003
+ *
+ */
+package org.eclipse.jst.j2ee.archive.test;
+
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.jst.j2ee.internal.IWrappedException;
+
+
+/**
+ * @author schacher
+ */
+public class TestInvalidXmlMultiplicity extends AbstractArchiveTest {
+
+	/**
+	 * @param name
+	 */
+	public TestInvalidXmlMultiplicity(String name) {
+		super(name);
+	}
+
+	/**
+	 * Starts the application.
+	 * @param args an array of command-line arguments
+	 */
+	public static void main(java.lang.String[] args) {
+		String[] className = { "com.ibm.etools.archive.test.TestInvalidXmlMultiplicity", "-noloading" };
+		TestRunner.main(className);
+	}
+	
+	public static junit.framework.Test suite() {
+		return new TestSuite(TestInvalidXmlMultiplicity.class);
+	}
+	
+	public void test1() throws Exception {
+		String uri =  AutomatedBVT.baseDirectory + "BadJspConfig.war";
+		runTest(uri);
+	}
+	
+	public void test2() throws Exception {
+		String uri =  AutomatedBVT.baseDirectory + "BadLoginConfig.war";
+		runTest(uri);
+	}
+	
+	public void test3() throws Exception {
+		String uri =  AutomatedBVT.baseDirectory + "BadSessionConfig.war";
+		runTest(uri);
+	}
+	
+	public void runTest(String uri) throws Exception {
+		IWrappedException ex = null;
+		WARFile war = getArchiveFactory().openWARFile(uri);
+		try {
+			war.getDeploymentDescriptor();
+		} catch (DeploymentDescriptorLoadException ddex) {
+			ex = (IWrappedException) ddex;
+		}
+		assertNotNull("Exception should have been caught", ex);
+		Exception inner = ex.getNestedException();
+		
+		while (ex != null) {
+			if (inner instanceof IWrappedException) {
+				ex = (IWrappedException)inner;
+				if (ex.getNestedException() != null)
+					inner = ex.getNestedException();
+			} else 
+				ex = null;
+		}
+		
+		assertTrue("The exception should be an IllegalStateException", inner instanceof IllegalStateException);
+		war.close();
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/TestModuleClassLoading.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/TestModuleClassLoading.java
new file mode 100644
index 0000000..13eccd7
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/TestModuleClassLoading.java
@@ -0,0 +1,98 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+import java.util.List;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jem.java.JavaClass;
+import org.eclipse.jem.java.impl.JavaClassImpl;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+
+
+public class TestModuleClassLoading extends TestCase {
+    static String testClass = "client.Subtract";
+    
+    
+    
+    /**
+     * 
+     */
+    public TestModuleClassLoading() {
+        super();
+    }
+
+    public TestModuleClassLoading(String name) {
+        super(name);
+    }
+
+	public CommonarchiveFactory getArchiveFactory() {
+		return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+	}
+	/**
+	 * Starts the application.
+	 * @param args an array of command-line arguments
+	 */
+	public static void main(java.lang.String[] args) {
+		String[] className = {"com.ibm.etools.archive.test.TestModuleClassLoading", "-noloading"};
+		TestRunner.main(className);
+	}
+	public static junit.framework.Test suite() {
+		return new TestSuite(TestModuleClassLoading.class);
+	}
+    public static void testAddModuleClassLoading() throws Exception {
+		String[] files = { "PROTO.ear","SEIinAnotherJar.ear", "SEIinWEB-INF_lib_jar.ear" };
+
+        if (files.length == 0) {
+            System.out.println("Usage: args specify full path to ear files.");
+        }
+        
+       // com.ibm.websphere.models.config.init.ConfigInit.init();
+        for (int i = 0; i < files.length; i++) {
+            String filename = files[i];   
+			CommonarchiveFactory factory = CommonarchiveFactoryImpl.getActiveFactory();
+
+			String in = AutomatedBVT.baseDirectory + files[i];
+            try {
+				EARFile earFile = factory.openEARFile (in);
+				System.out.println ("uri: " + earFile.getURI());
+				System.out.println("Testing " + earFile.getURI());
+                doModules(earFile);
+            } catch (Exception e) {
+                System.out.println(e);
+            }
+        }
+    }
+    
+    
+
+	public static void doModules(EARFile earFile) {
+		List modules = earFile.getModuleFiles();
+		for (int i = 0; i < modules.size(); i++) {
+			Archive module = (Archive) modules.get(i);
+			System.out.print("\tLooking for class " + testClass + " in module " + module.getURI());
+			doLoad(module, testClass);
+		}
+	} // validateModules
+
+	private static void doLoad(Archive module, String testClass) {
+		try {
+			JavaClass javaClass =
+				(JavaClass) JavaClassImpl.reflect(testClass, module.getResourceSet());
+			if (!((JavaClass) javaClass).isExistingType()) {
+				// This is what happens if the class can't be loaded.
+				System.out.println("- NOT FOUND - isExistingType returns false.");
+			} else {
+				System.out.println(" - found: isExistingType returns true.");
+			}
+		} catch (RuntimeException e) {
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/WARFileTests.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/WARFileTests.java
new file mode 100644
index 0000000..b7c126e
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/test/WARFileTests.java
@@ -0,0 +1,108 @@
+package org.eclipse.jst.j2ee.archive.test;
+
+ /*
+ * Licensed Material - Property of IBM
+ * (C) Copyright IBM Corp. 2001 - All Rights Reserved.
+ * US Government Users Restricted Rights - Use, duplication or disclosure
+ * restricted by GSA ADP Schedule Contract with IBM Corp.
+ */
+
+import java.util.List;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.jst.j2ee.commonarchivecore.internal.Archive;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchiveFactory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.CommonarchivePackage;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.File;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.ReadOnlyDirectory;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.WARFile;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.helpers.ArchiveConstants;
+import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+
+/**
+ * Insert the type's description here.
+ * Creation date: (12/15/00 2:26:04 PM)
+ * @author: Administrator
+ */
+public class WARFileTests extends TestCase {
+	private final static String copyright = "(c) Copyright IBM Corporation 2001.";//$NON-NLS-1$
+/**
+ * WARFileTests constructor comment.
+ * @param name java.lang.String
+ */
+public WARFileTests(String name) {
+	super(name);
+}
+public CommonarchiveFactory getArchiveFactory() {
+	return CommonarchivePackage.eINSTANCE.getCommonarchiveFactory();
+}
+/**
+ * Starts the application.
+ * @param args an array of command-line arguments
+ */
+public static void main(java.lang.String[] args) {
+	String[] className = {"com.ibm.etools.archive.test.WARFileTests", "-noloading"};
+	TestRunner.main(className);
+}
+public static junit.framework.Test suite() {
+	return new TestSuite(WARFileTests.class);
+}
+public void testAddCopyClass() throws Exception {
+
+	WARFile aWarFile = (WARFile)getArchiveFactory().openArchive(AutomatedBVT.baseDirectory +"example2.war");
+
+	ReadOnlyDirectory sampleDirectory = getArchiveFactory().openReadOnlyDirectory(AutomatedBVT.baseDirectory +"WarTestClasses");
+
+	int initialSize = aWarFile.getClasses().size();
+
+	File aFile = sampleDirectory.getFileInSelfOrSubdirectory("com/ibm/etools/archive/test/WARFileTests.class");
+
+	aWarFile.addCopyClass(aFile);
+	assertTrue(aWarFile.getClasses().size() == initialSize+1);
+
+	String classURI = ArchiveUtil.concatUri(ArchiveConstants.WEBAPP_CLASSES_URI, aFile.getURI(), '/');
+	assertTrue(aWarFile.containsFile(classURI));
+	//System.out.println(aWarFile.getURI()+" contains class "+classURI);
+
+	aWarFile.saveAsNoReopen(AutomatedBVT.baseDirectory +"testOutput/WarTests/addCopyClass.war");
+
+}
+	
+public void testAddCopyLib() throws Exception {
+
+	WARFile aWarFile = (WARFile)getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "example2.war");
+
+	Archive lib = getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "foo.jar");
+
+	int initialSize = aWarFile.getLibs().size();
+
+	aWarFile.addCopyLib(lib);
+	assertTrue(aWarFile.getLibs().size() == initialSize+1);
+
+	String libURI = ArchiveUtil.concatUri(ArchiveConstants.WEBAPP_LIB_URI, lib.getURI(), '/');
+	assertTrue(aWarFile.containsFile(libURI));
+	//System.out.println(aWarFile.getURI()+" contains lib "+libURI);
+
+	aWarFile.saveAsNoReopen("testOutput/WarTests/addCopyLib.war");
+
+}
+	
+public void testListClassesAndLibs() throws Exception {
+
+	WARFile aWarFile = (WARFile)getArchiveFactory().openArchive(AutomatedBVT.baseDirectory + "example2.war");
+
+	List libs = aWarFile.getLibs();
+	List classes = aWarFile.getClasses();
+	List resources = aWarFile.getResources();
+//	System.out.println("WAR spec version "+aWarFile.getSpecVersion()+" detected.");
+//	System.out.println("example2.war contains "+classes.size()+ " files in classes");
+//	System.out.println("example2.war contains "+libs.size()+ " libs");
+//	System.out.println("example2.war contains "+resources.size()+ " resources");
+
+}
+	
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/EAttributeDescriptor.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/EAttributeDescriptor.java
new file mode 100644
index 0000000..d850078
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/EAttributeDescriptor.java
@@ -0,0 +1,70 @@
+/*
+ * Created on May 1, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.archive.testutilities;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+/**
+ * @author administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class EAttributeDescriptor {
+	
+	EStructuralFeature feature;
+	EClass metaClass;
+	
+	/**
+	 * 
+	 */
+	public EAttributeDescriptor(EStructuralFeature feature, EClass metaClass) {
+		this.feature = feature;
+		this.metaClass = metaClass;
+	}
+
+	/**
+	 * @return
+	 */
+	public EClass getMetaClass() {
+		return metaClass;
+	}
+
+	/**
+	 * @param class1
+	 */
+	public void setMetaClass(EClass class1) {
+		metaClass = class1;
+	}
+	
+	public boolean equals(Object object) {
+		EAttributeDescriptor o = (EAttributeDescriptor)object;
+		return o.getFeature() == getFeature() && o.getMetaClass() == getMetaClass();
+	}
+
+	public int hashCode() {
+		return feature.hashCode() ^ metaClass.hashCode();
+	}
+
+
+	/**
+	 * @return
+	 */
+	public EStructuralFeature getFeature() {
+		return feature;
+	}
+
+	/**
+	 * @param attribute
+	 */
+	public void setFeature(EAttribute attribute) {
+		this.feature = attribute;
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/EMFAttributeFeatureGenerator.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/EMFAttributeFeatureGenerator.java
new file mode 100644
index 0000000..84b22fc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/EMFAttributeFeatureGenerator.java
@@ -0,0 +1,413 @@
+package org.eclipse.jst.j2ee.archive.testutilities;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Random;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.jem.java.impl.JavaClassImpl;
+import org.eclipse.jst.j2ee.common.CommonPackage;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+public class EMFAttributeFeatureGenerator {
+	public static String avClass[];
+	protected static int count = 0;
+	protected static Random randomGenerator = new Random();
+	protected static int maxNumberOfProjectsCreated = 1000;
+	protected static Map enumMap = new HashMap();
+	protected static int paramCount;
+	protected static String[] langArray = new String[] { "EN","FR","DE","JP","CN","BR","SP"};
+	protected static int langCount = 0;  
+	protected static Map booleanMap = new HashMap();
+	protected static Map attIndex = new HashMap();
+	protected static boolean specialNumberGen = false;
+	protected static String httpArray[] = null;
+	protected static int httpArrayIndex = 0;
+	
+	public static int version;
+	public static int moduleType;
+	//static versions
+	public static final int VERSION_1_2 = 0;
+	public static final int VERSION_1_3 = 1;
+	public static final int VERSION_1_4 = 2;
+
+	public static final int APPICATION = 0;
+	public static final int APP_CLIENT = 1;
+	public static final int CONNECTOR = 2;
+	public static final int EJB = 3;
+	public static final int WEB = 4;
+	
+    public EMFAttributeFeatureGenerator() {
+        super();
+    }
+    
+    public static void resetCount() {
+    	count = 0;
+    	return;
+    }
+	public static Object createAttribute(EAttribute att, EObject obj){
+		return createAttribute(new EAttributeDescriptor(att,obj.eClass()));
+	}
+	
+	public static Object createAttribute(EAttribute att, EClass eClass){
+		return createAttribute(new EAttributeDescriptor(att,eClass));
+	}
+	
+	public static Object createAttribute(EAttribute att, EObject obj, boolean special){
+		specialNumberGen = special;
+		return createAttribute(new EAttributeDescriptor(att,obj.eClass()));
+	}
+			
+	public static Object createAttribute(EAttribute att, EObject obj,  boolean special, int ver, int modType) {
+	   specialNumberGen = special;
+	   version = ver;
+	   moduleType = modType;
+	   return createAttribute(new EAttributeDescriptor(att,obj.eClass()));
+   }
+
+    protected static Object createAttribute(EAttributeDescriptor att) {
+		EClassifier meta = att.getFeature().getEType();
+		if (meta instanceof EEnum && att.getFeature().isMany()){
+			List collection = new ArrayList();
+			collection.add(createEnum(att));
+			return collection;
+		}
+		else if (meta instanceof EEnum)
+			return createEnum(att);
+		else if ((version == VERSION_1_3 || version == VERSION_1_2) && att.getFeature().equals(WebapplicationPackage.eINSTANCE.getHTTPMethodType_HttpMethod()))
+			return createSpecialHttpMethodsFor13();
+		else if (version == VERSION_1_3 && att.getFeature().equals(CommonPackage.eINSTANCE.getEJBLocalRef_Local()))
+			return generateRandomAttributeString(new EAttributeDescriptor(CommonPackage.eINSTANCE.getEjbRef_Remote(), att.getMetaClass()));
+		else if (version == VERSION_1_3 && att.getFeature().equals(CommonPackage.eINSTANCE.getEJBLocalRef_LocalHome()))
+			return generateRandomAttributeString(new EAttributeDescriptor(CommonPackage.eINSTANCE.getEjbRef_Home(),att.getMetaClass()));
+		else if (att.getFeature().getName().equals("parms"))
+			return createParams(att);
+		else if (att.getFeature().getName().startsWith("location") && version == VERSION_1_4)
+			return createLocation(att);
+		else if (att.getFeature().getName().startsWith("locale") && version == VERSION_1_4)
+			return createLocale();
+		else if (att.getFeature().getName().equals("lang"))
+			return createLang(att);
+		else if (att.getFeature().getName().equals("version"))
+			if (att.getFeature() == EjbPackage.eINSTANCE.getContainerManagedEntity_Version()) 
+				return "2.x";
+			else
+				return createVersion(att);
+		else if (att.getFeature().getName().equals("mimeType") && version == VERSION_1_4)
+			return "text/plain";
+		else if (att.getFeature().getName().equals("errorCode") && version == VERSION_1_4)
+			return "404";
+		else if (att.getFeature().getName().equals("formLoginPage") && version == VERSION_1_4)
+			return "/testFormLoginPage";
+		else if (att.getFeature().getName().equals("formErrorPage") && version == VERSION_1_4)
+			return "/testFormErrorpage";
+		else if(att.getFeature().getName().equals("link") && version == VERSION_1_4)
+			return "roleName_0";
+		else if(att.getFeature().getName().equals("specVersion") && version == VERSION_1_4)
+			return "1.5";
+		else if (att.getFeature().isMany())
+			return createCollection(att);
+		switch (meta.getClassifierID()) {
+			case EcorePackage.ESTRING:
+				return generateRandomAttributeString(att);
+			case EcorePackage.EBOOLEAN_OBJECT:
+			case EcorePackage.EBOOLEAN:
+				return generateRandomBoolean(att);
+			case EcorePackage.EINTEGER_OBJECT:
+			case EcorePackage.EINT:
+				return generateRandomInteger(att);
+			case EcorePackage.EFLOAT_OBJECT:
+			case EcorePackage.EFLOAT:
+				return generateRandomFloat(att);
+			case EcorePackage.ECHARACTER_OBJECT:
+			case EcorePackage.ECHAR:
+				return generateRandomChar(att);
+			case EcorePackage.ELONG_OBJECT:
+			case EcorePackage.ELONG:
+				return generateRandomLong();
+			case EcorePackage.EBYTE_OBJECT:
+			case EcorePackage.EBYTE:
+				return generateRandomByte();
+			case EcorePackage.EDOUBLE_OBJECT:
+			case EcorePackage.EDOUBLE:
+				return generateRandomDouble();
+			case EcorePackage.ESHORT_OBJECT:
+			case EcorePackage.ESHORT:
+				return generateRandomShort(att);
+			case EcorePackage.EJAVA_OBJECT:
+				return generateRandomObject(att);
+			}
+		return null;
+    }
+
+	/**
+     * @return
+     */
+    private static Object createLocale() {
+        return "en_US";
+    }
+
+    /**
+     * @param att
+     * @return
+     */
+    private static Object createLocation(EAttributeDescriptor att) {
+        String temp = generateRandomAttributeString(att);
+        return "/." + temp;
+    }
+
+    public static EObject createJavaClassProxy(EStructuralFeature ref, EObject eObject) {
+		if (avClass == null) {
+			avClass = new String[] { "java.util.HashTable", "java.util.List", "java.sql.Data", "java.lang.Integer", "java.lang.String" };
+		}
+		EAttributeDescriptor feature = new EAttributeDescriptor(ref,eObject.eClass());
+		if (!attIndex.containsKey(feature))
+			attIndex.put(feature, new Integer(0));
+		int classIndex = ((Integer)attIndex.get(feature)).intValue();
+		String name = avClass[classIndex];
+		classIndex++;
+		if (classIndex == 5)
+			classIndex = 0;
+		attIndex.put(feature,new Integer(classIndex));
+		return JavaClassImpl.createClassRef(name);
+	}
+	/**
+	 * @return
+	 */
+	protected static Object createSpecialHttpMethodsFor13() {
+		if (httpArray == null)
+			httpArray = new String[] {
+				"GET",
+				"POST",
+				"PUT",
+				"DELETE",
+				"HEAD",
+				"OPTIONS",
+				"TRACE"
+			};
+		if (httpArrayIndex >= httpArray.length)
+			httpArrayIndex = 0;
+		Object holder = httpArray[httpArrayIndex]; 	
+		httpArrayIndex++;
+		return holder;
+	}
+
+	/**
+     * @param att
+     * @return
+     */
+    protected static String createVersion(EAttributeDescriptor att) {
+		String versionHolder = "";
+		switch (moduleType) {
+		case APPICATION :
+			if(version == VERSION_1_2) {
+				versionHolder = "1.2";
+				break;
+			}
+			else if(version == VERSION_1_3){
+				versionHolder = "1.3";
+				break;
+			}
+			else {
+				versionHolder = "1.4";
+				break;
+			}
+		case APP_CLIENT :
+			if(version == VERSION_1_2) {
+				versionHolder = "1.2";
+				break;
+			}
+			else if(version == VERSION_1_3) {
+				versionHolder = "1.3";
+				break;
+			}
+			else {
+				versionHolder = "1.4";
+				break;
+			}
+		case EJB :
+			if(version == VERSION_1_2) {
+				versionHolder = "1.1";
+				break;
+			}
+			else if(version == VERSION_1_3) {
+				versionHolder = "2.0";
+				break;
+			}
+			else {
+				versionHolder = "2.1";
+				break;
+			}
+		case CONNECTOR :
+			if(version == VERSION_1_2) {
+				versionHolder = "1.0";
+				break;
+			}
+			else if(version == VERSION_1_3) {
+				versionHolder = "1.0";
+				break;
+			}
+			else { 
+				versionHolder = "1.5";
+				break;
+			}
+		case WEB :
+			if(version == VERSION_1_2) {
+				versionHolder = "2.2";
+				break;
+			}
+			else if(version == VERSION_1_3) {
+				versionHolder = "2.3";
+				break;
+			}
+			else { 
+				versionHolder = "2.4";
+				break;
+			}
+		}
+		
+		return versionHolder;
+    }
+
+    protected static Object createParams(EAttributeDescriptor att) {
+		if (paramCount == 0){
+			paramCount++;
+			return null;
+		}
+		else if (paramCount == 1){
+			paramCount++;
+			return "";
+		}
+		String r = "";
+		for (int i = 1 ; i < paramCount ;i++){
+			r += generateRandomAttributeString(att) + " ";
+		}
+		paramCount++;
+		if (paramCount == 5)
+			paramCount = 0;
+		return r;
+		
+	}
+
+
+	protected static Object createLang(EAttributeDescriptor att) {
+		String name = langArray[langCount];
+		langCount++;
+		if (langCount == 7)
+			langCount = 0;
+		return name;
+	}
+
+	protected static Object createCollection(EAttributeDescriptor att) {
+		ArrayList list = new ArrayList();
+		list.add(generateRandomAttributeString(att));
+		return list;
+	}
+
+
+	protected static Object generateRandomObject(EAttributeDescriptor att) {
+	    return generateRandomAttributeString(att);
+	}
+
+	protected static Object createEnum(EAttributeDescriptor att) {
+		EEnum enum = (EEnum) att.getFeature().getEType();
+		if (!enumMap.containsKey(att)){
+			if (att.getFeature().getName().equals("authMethod"))
+				enumMap.put(att,new Integer(1));
+			else 
+				enumMap.put(att,new Integer(0));
+		}
+		int pos = ((Integer)enumMap.get(att)).intValue();
+		EList literals = enum.getELiterals();
+		int size = literals.size();
+		if (pos == size)
+			pos = 0;
+		Object holder = enum.getEEnumLiteral(pos).getInstance();
+		pos++;
+		enumMap.put(att,new Integer(pos));
+		return holder;
+	    
+	}
+	public static Object generateRandomClassname(EAttributeDescriptor att) {
+		return "com.foo." + generateRandomAttributeString(att);
+	}
+
+	//REVISIT
+    protected static Object generateRandomShort(EAttributeDescriptor att) {
+        return new Short(generateRandomAttributeString(att));
+    }
+
+    protected static Object generateRandomDouble() {
+        return new Double(randomGenerator.nextDouble());
+    }
+	//REVISIT
+    protected static Object generateRandomByte() {
+        return new Byte("byte");
+    }
+
+    protected static Object generateRandomLong() {
+        return new Long(randomGenerator.nextLong());
+    }
+
+    protected static Object generateRandomChar(EAttributeDescriptor att) {
+        return new Character(generateRandomAttributeString(att).charAt(0));
+    }
+
+
+    protected static Object generateRandomFloat(EAttributeDescriptor att) {
+        return new Float(randomGenerator.nextFloat());
+    }
+
+    protected static Object generateRandomInteger(EAttributeDescriptor att) {
+    	return new Integer(generateNumber(att));
+    }
+    
+    
+    protected static Object generateRandomBoolean(EAttributeDescriptor att) {
+		if (!booleanMap.containsKey(att)){
+			booleanMap.put(att,new Boolean(true));
+		}
+		Boolean holder = (Boolean)booleanMap.get(att);
+		booleanMap.put(att, new Boolean(!holder.booleanValue()));
+		return holder;
+    }
+
+    public static String generateRandomAttributeString(EAttributeDescriptor att) {
+		return att.getFeature().getName() + "_" + generateNumber(att);
+	}
+	protected static int generateNumber(EAttributeDescriptor att) {
+		if(!specialNumberGen)
+			return count ++;
+		else{
+			if(!attIndex.containsKey(att))
+				attIndex.put(att, new Integer(0));
+			int holder = ((Integer) attIndex.get(att)).intValue();
+			attIndex.put(att, new Integer(holder+1));
+			return holder;
+		}
+	}
+
+	public static void reset(){
+		count = 0;
+		enumMap = new HashMap();
+		httpArrayIndex = 0;
+		paramCount = 0;
+		langCount = 0;  
+		booleanMap = new HashMap();
+		attIndex = new HashMap();
+		specialNumberGen = false;
+		TestUtilities.reset();
+		J2EEVersionCheck.cur_Tags = null;
+
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/J2EEVersionCheck.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/J2EEVersionCheck.java
new file mode 100644
index 0000000..d811367
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/J2EEVersionCheck.java
@@ -0,0 +1,199 @@
+/*
+ * Created on Apr 14, 2003
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.archive.testutilities;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jst.j2ee.application.ApplicationPackage;
+import org.eclipse.jst.j2ee.client.ClientPackage;
+import org.eclipse.jst.j2ee.common.CommonPackage;
+import org.eclipse.jst.j2ee.ejb.EjbPackage;
+import org.eclipse.jst.j2ee.jca.JcaPackage;
+import org.eclipse.jst.j2ee.webapplication.WebapplicationPackage;
+
+public class J2EEVersionCheck {
+	public int version;
+	//static versions
+	public static final int VERSION_1_2 = 0;
+	public static final int VERSION_1_3 = 1;
+	public static final int VERSION_1_4 = 2;
+	
+	//modules
+	public static final int APPICATION = 0;
+	public static final int APP_CLIENT = 1;
+	public static final int CONNECTOR = 2;
+	public static final int EJB = 3;
+	public static final int WEB = 4;
+
+	public static List cur_Tags;
+	private static CommonPackage COM = CommonPackage.eINSTANCE;
+
+    public J2EEVersionCheck() {
+        super();
+    }
+	public static boolean checkAttributeVersion(EAttribute att, int version, int type){
+		//TODO: Add version 1.2 excludes
+		if(version == VERSION_1_3 || version == VERSION_1_2){
+			if(cur_Tags == null){
+				cur_Tags = new ArrayList();
+				populate_1_3List(type);
+			}
+		}
+		else if(version == VERSION_1_4){
+			return true;
+		}
+		
+		if(cur_Tags.contains(att) || cur_Tags.contains(att.getEType()))
+			return false;
+		return true;
+	}
+    
+     public static boolean checkReferenceVersion(EStructuralFeature ref, int version, int type){
+		//TODO: Add version 1.2 excludes
+		if(version == VERSION_1_3 || version == VERSION_1_2){
+			if(cur_Tags == null){
+				cur_Tags = new ArrayList();
+				populate_1_3List(type);
+			}
+		}
+		else if(version == VERSION_1_4){
+			return true;
+		}
+		
+		if(cur_Tags.contains(ref) || cur_Tags.contains(ref.getEType()))
+			return false;
+		return true;
+    }
+       
+	private static void populate_1_2List(int type) {
+		switch (type) {
+			case APPICATION :
+				populate_1_2Application();
+				break;
+			case APP_CLIENT :
+				populate_1_2AppClient();
+				break;
+			case EJB :
+				populate_1_2EJB();
+				break;
+			case CONNECTOR :
+				populate_1_2EJB();
+				break;
+			case WEB :
+				populate_1_2Web();
+			default :
+				break;
+		}
+	}
+	
+	private static void populate_1_3List(int type) {
+		switch (type) {
+			case APPICATION :
+				populate_1_3Application();
+				break;
+			case APP_CLIENT :
+				populate_1_3AppClient();
+				break;
+			case EJB :
+				populate_1_3EJB();
+				break;
+			case CONNECTOR :
+				populate_1_3EJB();
+				break;
+			case WEB :
+				populate_1_3Web();
+			default :
+				break;
+		}
+	}
+
+    private static void populate_1_2Application(){
+		populate_1_3Application();
+    }
+
+	private static void populate_1_2AppClient(){
+		populate_1_3AppClient();
+	}
+	
+	private static void populate_1_2EJB(){
+		populate_1_3EJB();
+	}
+	
+	private static void populate_1_2Connector(){
+		populate_1_3Connector();
+	}
+	
+	private static void populate_1_2Web(){
+		populate_1_3Web();
+	}
+
+	//1.3
+	private static void populate_1_3Application(){
+		CommonPackage COM = CommonPackage.eINSTANCE;
+		cur_Tags.add(COM.getIconType());
+		cur_Tags.add(COM.getDisplayName());
+		cur_Tags.add(COM.getDescription());
+		cur_Tags.add(COM.getDescriptionGroup());
+		cur_Tags.add(COM.getSecurityIdentity_Descriptions());
+		cur_Tags.add(ApplicationPackage.eINSTANCE.getApplication_Version());	
+	}
+	
+	private static void populate_1_3AppClient(){
+		cur_Tags.add(COM.getIconType());
+		cur_Tags.add(COM.getDisplayName());
+		cur_Tags.add(COM.getDescription());
+		cur_Tags.add(COM.getDescriptionGroup());
+		cur_Tags.add(ClientPackage.eINSTANCE.getApplicationClient_Version());
+		cur_Tags.add(ClientPackage.eINSTANCE.getApplicationClient_ServiceRefs());
+		cur_Tags.add(ClientPackage.eINSTANCE.getApplicationClient_MessageDestinationRefs());
+		cur_Tags.add(ClientPackage.eINSTANCE.getApplicationClient_MessageDestinations());
+		cur_Tags.add(COM.getMessageDestination());
+		cur_Tags.add(COM.getMessageDestinationRef());
+		//cur_Tags.add(ClientPackage.eINSTANCE.getApplicationClient_ServiceRefs());
+	}
+	
+	private static void populate_1_3Connector(){
+		cur_Tags.add(COM.getIconType());
+		cur_Tags.add(COM.getDisplayName());
+		cur_Tags.add(COM.getDescription());
+		cur_Tags.add(COM.getDescriptionGroup());
+		cur_Tags.add(JcaPackage.eINSTANCE.getOutboundResourceAdapter());
+		cur_Tags.add(JcaPackage.eINSTANCE.getInboundResourceAdapter());
+		cur_Tags.add(JcaPackage.eINSTANCE.getAdminObject());
+		cur_Tags.add(JcaPackage.eINSTANCE.getConnector_Version());
+	}
+	
+    private static void populate_1_3EJB() {
+		cur_Tags.add(COM.getIconType());
+		cur_Tags.add(COM.getDisplayName());
+		cur_Tags.add(COM.getDescription());
+		cur_Tags.add(COM.getDescriptionGroup());
+		cur_Tags.add(EjbPackage.eINSTANCE.getEJBJar_Version());
+		cur_Tags.add(EjbPackage.eINSTANCE.getSession_ServiceEndpoint());
+		cur_Tags.add(COM.getJNDIEnvRefsGroup_MessageDestinationRefs());
+		cur_Tags.add(COM.getJNDIEnvRefsGroup_ServiceRefs());
+		cur_Tags.add(EjbPackage.eINSTANCE.getMessageDriven_MessagingType());
+		cur_Tags.add(EjbPackage.eINSTANCE.getMessageDriven_MessageDestination());
+		cur_Tags.add(EjbPackage.eINSTANCE.getMessageDriven_Link());
+		cur_Tags.add(EjbPackage.eINSTANCE.getMessageDriven_ActivationConfig());	
+    }
+
+	private static void populate_1_3Web(){
+		cur_Tags.add(COM.getIconType());
+		cur_Tags.add(COM.getDisplayName());
+		cur_Tags.add(COM.getDescription());
+		cur_Tags.add(COM.getDescriptionGroup());
+		cur_Tags.add(WebapplicationPackage.eINSTANCE.getWebApp_Version());
+		cur_Tags.add(WebapplicationPackage.eINSTANCE.getWebApp_JspConfig());
+		cur_Tags.add(WebapplicationPackage.eINSTANCE.getWebApp_MessageDestinations());
+		cur_Tags.add(WebapplicationPackage.eINSTANCE.getWebApp_LocalEncodingMappingList());
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/TestUtilities.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/TestUtilities.java
new file mode 100644
index 0000000..5f778ec
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/archive/testutilities/TestUtilities.java
@@ -0,0 +1,115 @@
+/*
+ * Created on Apr 3, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.archive.testutilities;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EClassifier;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+/**
+ * @author administrator
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public  class TestUtilities extends EcoreUtil {
+	private static Map objectMap = new HashMap();
+	private static Map subsetMap = new HashMap();
+
+	
+	/**
+		 * Returns the first collection member that {@link EClassifier#isInstance is an instance} of the type.
+		 * @param objects a collection of objects to check.
+		 * @param type the type of object to find.
+		 * @return the first object of the specified type.
+		 */
+		public static Object getObjectByType(Resource res, EClassifier type, boolean isMany) {
+			if (isMany)
+				return getContainedCollectionByType(res.getContents(), type);
+			else
+				return getContainedObjectByType(res.getContents(), type);
+		}
+
+		public static Object getContainedObjectByType(List list, EClassifier type) {
+			Object found;
+			found = getObjectsByType(list, type);
+			if (found != null && !((Collection)found).isEmpty())
+				return extractObject((List) found,type);
+
+			for (int i = 0; i < list.size(); i++) {
+				EObject obj = (EObject) list.get(i);
+				found = getContainedObjectByType(obj.eContents(), type);
+				if (found != null)
+					return found;
+			}
+
+			return null;
+		}
+
+		public static Object getContainedCollectionByType(List list, EClassifier type) {
+			List found;
+			found = (List)getObjectsByType(list, type);
+			if (found != null && !found.isEmpty())
+				return extractSubset(found, type);
+
+			for (int i = 0; i < list.size(); i++) {
+				EObject obj = (EObject) list.get(i);
+				found = (List) getContainedCollectionByType(obj.eContents(), type);
+				if (found != null)
+					return found;
+			}
+
+			return null;
+		
+		
+		
+		}
+	
+		public static List extractSubset(List found, EClassifier type) {
+			if (!subsetMap.containsKey(type)){
+				subsetMap.put(type,new Integer(1));
+			}
+			int pos = ((Integer)subsetMap.get(type)).intValue();
+		
+			if (pos == found.size())
+				pos = 1;
+			List result = new ArrayList();
+			for (int i = 0; i < pos; i++)
+				result.add(found.get(i));
+			pos++;
+			subsetMap.put(type,new Integer(pos));	
+		
+			return result;
+		}
+	
+		public static Object extractObject(List found, EClassifier type) {
+			if (!objectMap.containsKey(type)){
+				objectMap.put(type,new Integer(0));
+			}
+			int pos = ((Integer)objectMap.get(type)).intValue();
+		
+			if (pos == found.size())
+				pos = 0;
+			Object holder = found.get(pos);
+			pos++;
+			objectMap.put(type,new Integer(pos));	
+		
+			return holder;
+		}
+
+	public static void reset(){
+		subsetMap.clear();
+		objectMap.clear();
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVT.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVT.java
new file mode 100644
index 0000000..c5460fd
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVT.java
@@ -0,0 +1,70 @@
+/*
+ * Created on Apr 1, 2003
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.core.tests.bvt;
+
+import java.net.URL;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+import org.eclipse.core.runtime.IPluginDescriptor;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.jst.j2ee.archive.emftests.AllTests;
+import org.eclipse.jst.j2ee.archive.test.AllArchiveTestsJava;
+import org.eclipse.jst.j2ee.java.testing.AllJavaTestsJava;
+
+
+/**
+ * @author jsholl
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class AutomatedBVT extends TestSuite {
+
+    public static String baseDirectory = System.getProperty("user.dir") + java.io.File.separatorChar + "commonArchiveResources" + java.io.File.separatorChar;
+    
+    static {
+        try {
+            IPluginDescriptor pluginDescriptor = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.jst.j2ee.core.tests");
+            URL url = pluginDescriptor.getInstallURL(); 
+        	AutomatedBVT.baseDirectory = Platform.asLocalURL(url).getFile() + "commonArchiveResources"+ java.io.File.separatorChar;
+		} catch (Exception e) { 
+			System.err.println("Using working directory since a workspace URL could not be located.");
+		} 
+    }
+
+    public static int unimplementedMethods;
+
+    public static void main(String[] args) {
+        unimplementedMethods = 0;
+        TestRunner.run(suite());
+        if (unimplementedMethods > 0) {
+            System.out.println("\nCalls to warnUnimpl: " + unimplementedMethods);
+        }
+    }
+
+    public AutomatedBVT() {
+        super();
+        TestSuite suite = (TestSuite) AutomatedBVT.suite();
+        for (int i = 0; i < suite.testCount(); i++) {
+            addTest(suite.testAt(i));
+        }
+    }
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite("Test for org.eclipse.jst.j2ee.core.bvt");
+        //$JUnit-BEGIN$
+        //TODO: Make the Archive Test Work
+       // suite.addTest(AllArchiveTestsJava.suite());
+        suite.addTest(AllTests.suite());
+        //suite.addTest(AllJavaTestsJava.suite());
+        //$JUnit-END$
+        return suite;
+    }
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVTEclipse.java b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVTEclipse.java
new file mode 100644
index 0000000..08b007d
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/commonArchiveTests/org/eclipse/jst/j2ee/core/tests/bvt/AutomatedBVTEclipse.java
@@ -0,0 +1,34 @@
+/*
+ * Created on Mar 25, 2004
+ *
+ * To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.eclipse.jst.j2ee.core.tests.bvt;
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.eclipse.core.runtime.IPluginDescriptor;
+import org.eclipse.core.runtime.Platform;
+
+/**
+ * @author jsholl
+ *
+ * To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class AutomatedBVTEclipse extends AutomatedBVT {
+	
+	public AutomatedBVTEclipse(){
+		super();
+		IPluginDescriptor pluginDescriptor = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.jst.j2ee.core.tests");
+        URL url = pluginDescriptor.getInstallURL();
+        try {
+        	AutomatedBVT.baseDirectory = Platform.asLocalURL(url).getFile() + "commonArchiveResources"+ java.io.File.separatorChar;
+		} catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/A.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/A.java
new file mode 100644
index 0000000..8557e09
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/A.java
@@ -0,0 +1,53 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+/**
+ *	test class A, touches all the other classes here.
+ *		plus, uses lots of array types.
+ */
+public class A implements IA {
+	public A anA;
+	public B aB;
+	public static final String testString = "testing";
+	public B[] bees;
+	public B[][] bees_and_bees;
+	// primitive array fields
+	public int[] ints;
+	public int[][] ints2;
+	public int[][][] ints3;
+	public char[] chars;
+	public float[] floats;
+	public boolean[] cools;
+	public double[] doubles;
+	public long[] longs;
+	public short[] shorts;
+	public byte[] bytes;
+	// primitive field parms
+	public void doAllPrimitives(int[] ints,int[][] ints2,int[][][] ints3,char[] chars,float[] floats,boolean[] cools,double[] doubles,long[] longs,short[] shorts,byte[] bytes) {
+		return;
+	}
+	public C doSomething() {
+		return null;
+	}
+	public byte[] getBytes() {
+		return new byte[0];
+	}
+	public char[] getChar() {
+		return new char[0];
+	}
+	public float[] getFloats() {
+		return new float[0];
+	}
+	// primitive field return values
+	public int[] getInts() {
+		return new int[0];
+	}
+	public long[] getLongs() {
+		return new long[0];
+	}
+	public short[] getShorts() {
+		return new short[0];
+	}
+	public A[] returnAs(C[] cees) {
+		return new A[0];
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/A_1.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/A_1.java
new file mode 100644
index 0000000..9e0a230
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/A_1.java
@@ -0,0 +1,12 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+public class A_1 {
+	public A bad_field_name;
+	public A_1 another_bad_field;
+	public A bad_method_name(A bad_parm_name, B bad_parm_name_2, C bad_parm_name3) {
+		return null;
+	}
+	public A_1 badder_method_name(A_1 parm_type_with_underscores) {
+		return null;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/B.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/B.java
new file mode 100644
index 0000000..face7be
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/B.java
@@ -0,0 +1,7 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+public class B extends A {
+	public void doNothing() {
+		return;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/C.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/C.java
new file mode 100644
index 0000000..2788a39
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/C.java
@@ -0,0 +1,20 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+/**
+ * Test class C - mostly harmless.  Some inner classes.
+ */
+public class C {
+	public class MyRunnable implements Runnable {
+		public void run() {
+			return;
+		}
+	}
+	public void makeRunnable() {
+		Runnable r = new Runnable() {
+			public void run() {
+				return;
+			}
+		};
+		r.run();
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/D.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/D.java
new file mode 100644
index 0000000..47e7615
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/D.java
@@ -0,0 +1,4 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+public class D extends B {
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/E.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/E.java
new file mode 100644
index 0000000..6be20bc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/E.java
@@ -0,0 +1,33 @@
+/*
+ * Created on May 7, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.java.stressSample;
+
+/**
+ * @author DABERG
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class E {
+
+	/**
+	 * 
+	 */
+	public E() {
+		super();
+	}
+	
+	public class Test$1 {
+		public void run() {
+			return;
+		}
+	}
+	public Test$1 getTest() {
+		return new Test$1();
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/IA.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/IA.java
new file mode 100644
index 0000000..2042f0c
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/IA.java
@@ -0,0 +1,5 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+
+public interface IA {
+	public C doSomething();
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/IB.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/IB.java
new file mode 100644
index 0000000..41d4c71
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/IB.java
@@ -0,0 +1,17 @@
+/*
+ * Created on Jun 3, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.java.stressSample;
+
+/**
+ * @author DABERG
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public interface IB extends IA {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/ID.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/ID.java
new file mode 100644
index 0000000..5f96351
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/ID.java
@@ -0,0 +1,17 @@
+/*
+ * Created on Jun 3, 2003
+ *
+ * To change the template for this generated file go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.java.stressSample;
+
+/**
+ * @author DABERG
+ *
+ * To change the template for this generated type comment go to
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public interface ID extends IB {
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1Bean.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1Bean.java
new file mode 100644
index 0000000..70a0efe
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1Bean.java
@@ -0,0 +1,79 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+/**
+ * Bean implementation class for Enterprise Bean: Test1
+ */
+public abstract class Test1Bean implements javax.ejb.EntityBean {
+	private javax.ejb.EntityContext myEntityCtx;
+	/**
+	 * setEntityContext
+	 */
+	public void setEntityContext(javax.ejb.EntityContext ctx) {
+		myEntityCtx = ctx;
+	}
+	/**
+	 * getEntityContext
+	 */
+	public javax.ejb.EntityContext getEntityContext() {
+		return myEntityCtx;
+	}
+	/**
+	 * unsetEntityContext
+	 */
+	public void unsetEntityContext() {
+		myEntityCtx = null;
+	}
+	/**
+	 * ejbCreate
+	 */
+	public org.eclipse.jst.j2ee.java.stressSample.Test1Key ejbCreate(int id)
+		throws javax.ejb.CreateException {
+		setId(id);
+		return null;
+	}
+	/**
+	 * ejbPostCreate
+	 */
+	public void ejbPostCreate(int id) throws javax.ejb.CreateException {
+	}
+	/**
+	 * ejbActivate
+	 */
+	public void ejbActivate() {
+	}
+	/**
+	 * ejbLoad
+	 */
+	public void ejbLoad() {
+	}
+	/**
+	 * ejbPassivate
+	 */
+	public void ejbPassivate() {
+	}
+	/**
+	 * ejbRemove
+	 */
+	public void ejbRemove() throws javax.ejb.RemoveException {
+	}
+	/**
+	 * ejbStore
+	 */
+	public void ejbStore() {
+	}
+	/**
+	 * Get accessor for persistent attribute: id
+	 */
+	public abstract int getId();
+	/**
+	 * Set accessor for persistent attribute: id
+	 */
+	public abstract void setId(int newId);
+	/**
+	 * Get accessor for persistent attribute: name
+	 */
+	public abstract java.lang.String getName();
+	/**
+	 * Set accessor for persistent attribute: name
+	 */
+	public abstract void setName(java.lang.String newName);
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1Key.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1Key.java
new file mode 100644
index 0000000..9d1b74f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1Key.java
@@ -0,0 +1,50 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+/**
+ * Key class for Entity Bean: Test1
+ */
+public class Test1Key implements java.io.Serializable {
+	static final long serialVersionUID = 3206093459760846163L;
+	/**
+	 * Implementation field for persistent attribute: id
+	 */
+	public int id;
+	/**
+	 * Creates an empty key for Entity Bean: Test1
+	 */
+	public Test1Key() {
+	}
+	/**
+	 * Creates a key for Entity Bean: Test1
+	 */
+	public Test1Key(int id) {
+		this.id = id;
+	}
+	/**
+	 * Returns true if both keys are equal.
+	 */
+	public boolean equals(java.lang.Object otherKey) {
+		if (otherKey instanceof org.eclipse.jst.j2ee.java.stressSample.Test1Key) {
+			org.eclipse.jst.j2ee.java.stressSample.Test1Key o = (org.eclipse.jst.j2ee.java.stressSample.Test1Key) otherKey;
+			return ((this.id == o.id));
+		}
+		return false;
+	}
+	/**
+	 * Returns the hash code for the key.
+	 */
+	public int hashCode() {
+		return ((new java.lang.Integer(id).hashCode()));
+	}
+	/**
+	 * Get accessor for persistent attribute: id
+	 */
+	public int getId() {
+		return id;
+	}
+	/**
+	 * Set accessor for persistent attribute: id
+	 */
+	public void setId(int newId) {
+		id = newId;
+	}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1Local.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1Local.java
new file mode 100644
index 0000000..615b7ea
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1Local.java
@@ -0,0 +1,14 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+/**
+ * Local interface for Enterprise Bean: Test1
+ */
+public interface Test1Local extends javax.ejb.EJBLocalObject {
+	/**
+	 * Get accessor for persistent attribute: name
+	 */
+	public java.lang.String getName();
+	/**
+	 * Set accessor for persistent attribute: name
+	 */
+	public void setName(java.lang.String newName);
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1LocalHome.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1LocalHome.java
new file mode 100644
index 0000000..239a04f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/stressSample/Test1LocalHome.java
@@ -0,0 +1,15 @@
+package org.eclipse.jst.j2ee.java.stressSample;
+/**
+ * Local Home interface for Enterprise Bean: Test1
+ */
+public interface Test1LocalHome extends javax.ejb.EJBLocalHome {
+	/**
+	 * Creates an instance from a key for Entity Bean: Test1
+	 */
+	public org.eclipse.jst.j2ee.java.stressSample.Test1Local create(int id) throws javax.ejb.CreateException;
+	/**
+	 * Finds an instance using a key for Entity Bean: Test1
+	 */
+	public org.eclipse.jst.j2ee.java.stressSample.Test1Local findByPrimaryKey(org.eclipse.jst.j2ee.java.stressSample.Test1Key primaryKey)
+		throws javax.ejb.FinderException;
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/AbstractTestCase.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/AbstractTestCase.java
new file mode 100644
index 0000000..db79ab0
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/AbstractTestCase.java
@@ -0,0 +1,298 @@
+package org.eclipse.jst.j2ee.java.testing;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.LineNumberReader;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.jem.java.impl.JavaRefFactoryImpl;
+import org.eclipse.jst.j2ee.common.impl.J2EEResourceFactoryRegistry;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+
+
+
+public abstract class AbstractTestCase extends junit.framework.TestCase {
+	protected ResourceSet resourceSet;
+	protected Map equivalentLines;
+	// If we are running in the workbench, we get our context from
+	// the project named below.
+	protected static Object project = null;  //really an IJavaProject, but we don't want the workbench referenced here
+public AbstractTestCase(String name) {
+	super(name);
+}
+
+public void compareContents(String file1, String file2) {
+	compareContents(getResourceAsStream(file1), getResourceAsStream(file2));
+}
+
+public void compareContents(String file1, InputStream in2) {
+	compareContents(getResourceAsStream(file1), in2);
+}
+
+public void compareContents(InputStream in1, InputStream in2) {
+	try {
+		int lineno = 1;
+		BufferedReader reader1 = new BufferedReader(new InputStreamReader(in1));
+		BufferedReader reader2 = new BufferedReader(new InputStreamReader(in2));
+		String line1 = "", line2 = "";
+		while (reader1.ready() && reader2.ready()) {
+			line1 = reader1.readLine();
+			line2 = reader2.readLine();
+			if (!line1.equals(line2)) {
+				String message = "Error at line #: " + lineno + '\n' + line1 + '\n' + line2 + '\n';
+				assertTrue(message, false);
+			}
+			lineno++;
+		}
+		assertTrue("The files have a different number of lines:" + lineno + '\n' 
+			+ line1 + '\n' + line2 + '\n', (!reader1.ready() && !reader2.ready())); 
+	} catch (IOException ex) {
+		assertTrue("IO failed", false);
+	}
+}
+
+//public void compareDOMConentsIgnoringIDs(String file1, Resource resource) throws Exception {
+//	InputStream in = resource.getResourceSet().getURIConverter().createInputStream(resource.getURI());
+//	HashSet ignore = new HashSet();
+//	ignore.add("id");
+//	try {
+//		compareDOMContents(file1, in, ignore);
+//	} finally {
+//		in.close();
+//	}
+//}
+//public void compareDOMContents(String file1, InputStream in2, HashSet ignorableAttributes) throws Exception {
+//	InputStream in1 = getResourceAsStream(file1);
+//	try {
+//		compareDOMContents(in1, in2, ignorableAttributes);
+//	} finally {
+//		try {
+//			if (in1 != null)
+//				in1.close();
+//		} catch (Exception e) {
+//			Assert.fail(e.getMessage());
+//		}
+//	}
+//}
+
+//public void compareDOMContents(InputStream in1, InputStream in2, HashSet ignorableAttributes) throws Exception {
+//		InputSource input1 = new InputSource(in1);
+//		InputSource input2 = new InputSource(in2);
+//		try {
+//			String results = DomComparitor.compareDoms(input1, input2, ignorableAttributes);
+//			if (results != null) {
+//				assertTrue("Unequal doms compared as equal. Details: " + results, false);
+//			}
+//		} catch(Exception ex){
+//			assertTrue("Compare failed" + ex.getMessage(), false);
+//		}
+//	}
+public void compareContentsIgnoreWhitespace(InputStream source, InputStream dest, String identifier) throws Exception {
+
+	
+	LineNumberReader reader1 = new LineNumberReader(new InputStreamReader(source));
+	LineNumberReader reader2 = new LineNumberReader(new InputStreamReader(dest));
+	compareContentsIgnoreWhitespace(reader1, reader2, identifier);
+
+}
+
+public void compareContentsIgnoreWhitespace(LineNumberReader reader1, LineNumberReader reader2, String identifier) throws Exception {
+
+	while (reader1.ready() || reader2.ready()) {
+		String line1 = "", line2 = "";
+		while (reader1.ready() && line1.equals("")) {
+			line1 = reader1.readLine().trim();
+		}
+		while (reader2.ready() && line2.equals("")) {
+			line2 = reader2.readLine().trim();
+		}
+		if (!isEquivalentLines(line1, line2)) {
+			StringBuffer buff = new StringBuffer();
+			buff.append("Difference found in test ");
+			
+			buff.append(identifier);
+			buff.append("\nSource line #: ");
+			buff.append(reader1.getLineNumber());
+			buff.append('\n');
+			buff.append(line1);
+			buff.append("\nDestination line #: ");
+			buff.append(reader2.getLineNumber());
+			buff.append('\n');
+			buff.append(line2);
+			assertTrue(buff.toString(), false);
+		}
+	}
+
+}
+/**
+ * Insert the method's description here.
+ * Creation date: (10/17/2000 3:45:25 PM)
+ * @return com.ibm.etools.emf.resource.Context
+ */
+protected ResourceSet computeBasicContext() {
+	ResourceSet rs = JavaRefFactoryImpl.createJavaContext();
+	return rs;
+}
+/**
+ * Insert the method's description here.
+ * Creation date: (10/17/2000 3:45:25 PM)
+ * @return com.ibm.etools.emf.resource.Context
+ */
+protected ResourceSet computeProjectContext() {
+	ResourceSet rs = null;
+	try {
+		// ejbNatureRuntime = EjbNatureRuntime.getRuntime(getProject())
+		Class natureClass = Class.forName("com.ibm.etools.ejb.ejbproject.EJBNatureRuntime");
+		Class projectClass = Class.forName("org.eclipse.core.resources.IProject");
+		Class[] parmTypes = {projectClass};
+		java.lang.reflect.Method getRuntimeMethod = natureClass.getMethod("getRuntime", parmTypes);
+		Object[] args = new Object[1];
+		args[0] = getProject();
+		Object ejbNatureRuntime = getRuntimeMethod.invoke((Object) null, args);
+		if (ejbNatureRuntime == null)
+			throw new RuntimeException("Tests must be run in an EJB project");
+		// newContext = ejbNatureRuntime.createContext()
+		
+		java.lang.reflect.Method createContextMethod = natureClass.getMethod("getResourceSet", new Class[0]);
+		rs = (ResourceSet) createContextMethod.invoke(ejbNatureRuntime, null);
+
+	} catch (Exception e) {
+		// nothing to do
+		System.out.println("Reflection error computing project context: " + e);
+	}
+	return rs;
+}
+/**
+ * Insert the method's description here.
+ * Creation date: (7/29/99 8:39:08 AM)
+ */
+protected void deleteFile(String aFileName) {
+	String aString;
+	aString = (aFileName.charAt(0) == '/') ? aFileName.substring(1) : aFileName;
+	File aFile = new File(aString);
+	if (aFile != null)
+		aFile.delete();
+}
+/**
+ * Insert the method's description here.
+ * Creation date: (10/17/2000 3:45:25 PM)
+ * @return com.ibm.etools.emf.resource.Context
+ */
+protected ResourceSet getContext() {
+	if (resourceSet == null) {
+		if (getProject() == null)
+			resourceSet = computeBasicContext();
+		else
+			resourceSet = computeProjectContext();
+	}
+	return resourceSet;
+}
+
+protected void addEquivalentLines(String sourceLine, String destinationLine) {
+	getEquivalentLines().put(sourceLine, destinationLine);
+}
+/*
+ * Get the static project for testing
+ */
+public static Object getProject() {
+	return project;
+}
+public InputStream getResourceAsStream(String fileName) {
+
+	InputStream in = null;
+	ClassLoader loader = getClass().getClassLoader();
+	if (loader == null) {
+		in = ClassLoader.getSystemResourceAsStream(fileName);
+	} else {
+		in = loader.getResourceAsStream(fileName);
+	}
+	assertTrue("Unable to find resource: "+fileName, in != null);
+	return in;
+}
+
+public boolean lineEquals(String line1, String line2) {
+	return line1.equals(line2);
+}
+
+public boolean isEquivalentLines(String line1, String line2) {
+	if (lineEquals(line1, line2))
+		return true;
+		
+	String equiv = (String)getEquivalentLines().get(line1);
+	return equiv != null && equiv.equals(line2);
+} 
+/**
+ * Insert the method's description here.
+ * Creation date: (10/16/2000 11:42:36 AM)
+ * @return com.ibm.etools.emf.resource.ResourceSet
+ */
+public ResourceSet getResourceSet() {
+	return getContext();
+}
+protected OutputStream makeOutputStream(String uri) throws IOException {
+	File aFile = new File(uri);
+	aFile.getParentFile().mkdirs();
+	return new FileOutputStream(aFile);
+}
+protected Resource makeResource(String uri) {
+	return makeResource(uri, null);
+}
+
+protected Resource makeAbsoluteResource(String relativeUri) {
+	StringBuffer b = new StringBuffer();
+	b.append("file://").append(AutomatedBVT.baseDirectory).append(relativeUri);
+	return makeResource(b.toString());
+}
+protected Resource makeResource(String uriString, Object extent) {
+	URI uri = URI.createURI(uriString);
+
+	Resource.Factory fac = J2EEResourceFactoryRegistry.INSTANCE.getFactory(uri);
+	Resource resource;
+
+	resource = fac.createResource(uri);
+	ResourceSet rs = getResourceSet();
+	rs.getResources().add(resource);
+	return resource;	
+}
+/**
+ * Insert the method's description here.
+ * Creation date: (10/17/2000 3:45:25 PM)
+ * @param newContext com.ibm.etools.emf.resource.Context
+ */
+protected void setResourceSet(ResourceSet newRS) {
+	resourceSet = newRS;
+}
+/*
+ * Set the static project name for testing
+ */
+public static void setProject(Object inProject) {
+	project = inProject;
+}
+	/**
+	 * Gets the equivalentLines.
+	 * @return Returns a Map
+	 */
+	public Map getEquivalentLines() {
+		if (equivalentLines == null)
+			equivalentLines = new HashMap();
+		return equivalentLines;
+	}
+
+	/**
+	 * Sets the equivalentLines.
+	 * @param equivalentLines The equivalentLines to set
+	 */
+	public void setEquivalentLines(Map equivalentLines) {
+		this.equivalentLines = equivalentLines;
+	}
+
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/AllJavaTestsJava.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/AllJavaTestsJava.java
new file mode 100644
index 0000000..5c064f0
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/AllJavaTestsJava.java
@@ -0,0 +1,27 @@
+/*
+ * Created on Apr 1, 2003
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+package org.eclipse.jst.j2ee.java.testing;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author jsholl
+ *
+ * To change this generated comment go to 
+ * Window>Preferences>Java>Code Generation>Code and Comments
+ */
+public class AllJavaTestsJava {
+
+    public static Test suite() {
+        TestSuite suite = new TestSuite("Test for org.eclipse.jem.internal.java.testing");
+        //$JUnit-BEGIN$
+        suite.addTest(JavaBasicTests.suite());
+        //$JUnit-END$
+        return suite;
+    }
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/JavaBasicTests.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/JavaBasicTests.java
new file mode 100644
index 0000000..73d4972
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/JavaBasicTests.java
@@ -0,0 +1,391 @@
+package org.eclipse.jst.j2ee.java.testing;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.swingui.TestRunner;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.jem.internal.java.init.JavaInit;
+import org.eclipse.jem.java.ArrayType;
+import org.eclipse.jem.java.Field;
+import org.eclipse.jem.java.JavaClass;
+import org.eclipse.jem.java.JavaDataType;
+import org.eclipse.jem.java.JavaHelpers;
+import org.eclipse.jem.java.JavaParameter;
+import org.eclipse.jem.java.JavaRefFactory;
+import org.eclipse.jem.java.Method;
+import org.eclipse.jem.java.TypeKind;
+import org.eclipse.jem.java.impl.JavaClassImpl;
+import org.eclipse.jem.java.impl.JavaRefFactoryImpl;
+/**
+ * Insert the type's description here.
+ * Creation date: (5/18/2000 1:08:17 PM)
+ * @author: 
+ */
+public class JavaBasicTests extends AbstractTestCase {
+/**
+ * EjbDocCreationTest constructor comment.
+ * @param name java.lang.String
+ */
+public JavaBasicTests(String name) {
+	super(name);
+}
+public static void main(String args[]) {
+	String[] className = {"org.eclipse.jst.j2ee.java.JavaBasicTests", "-noloading"}; //$NON-NLS-1$ //$NON-NLS-2$
+	TestRunner.main(className);
+}
+/**
+ * Sets up the fixture, for example, open a network connection.
+ * This method is called before a test is executed.
+ */
+protected void setUp() throws Exception {
+	JavaInit.init();
+	// Java reflection may need additional set up externally
+	super.setUp();
+}
+public static Test suite() {
+	TestSuite suite = new TestSuite();
+	suite.addTest(new JavaBasicTests("testReflection")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testInheritance")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testInheritance2")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testInheritance3")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testInterfaceInheritanceCycles")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testSerialization")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testSourceNoInheritance")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testCanReflect")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testPrimitives")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testArrays")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testUserClass")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testInnerClass")); //$NON-NLS-1$
+	suite.addTest(new JavaBasicTests("testInnerClass2")); //$NON-NLS-1$
+	return suite;
+}
+/**
+ * Tears down the fixture, for example, close a network connection.
+ * This method is called after a test is executed.
+ */
+protected void tearDown() throws Exception {
+	super.tearDown();
+}
+/**
+ * Test the array reflection capability
+ *		- requires access to com.ibm.etools.java.stressSample classes
+ */
+public void testArrays() {
+	ResourceSet set = getResourceSet();
+	String result;
+	JavaClass aClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.A", set); //$NON-NLS-1$
+	result = aClass.infoString();
+	//System.out.println(result);
+	assertTrue("Testing A infoString", result != null); //$NON-NLS-1$
+	JavaClass bClass = (JavaClass)JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.B", set); //$NON-NLS-1$
+	result = bClass.infoString();
+	//System.out.println(result);
+	assertTrue("Testing B infoString", result != null); //$NON-NLS-1$
+	Field tempField2, tempField = aClass.getFieldNamed("anA"); //$NON-NLS-1$
+
+	assertNotNull("A has a field: A anA is not null", tempField); //$NON-NLS-1$
+	assertTrue("A has a field: A anA", !tempField.isArray()); //$NON-NLS-1$
+	assertTrue("A has a field: A anA", tempField.getEType().equals(aClass)); //$NON-NLS-1$
+	tempField = aClass.getFieldNamed("bees"); //$NON-NLS-1$
+	assertTrue("A has a field: B[] bees", tempField.isArray()); //$NON-NLS-1$
+	assertTrue("A has a field: B[] bees", ((ArrayType) tempField.getEType()).getComponentType().equals(bClass)); //$NON-NLS-1$
+	assertTrue("A has a field: B[] bees", ((ArrayType) tempField.getEType()).getFinalComponentType().equals(bClass)); //$NON-NLS-1$
+	tempField2 = aClass.getFieldNamed("bees_and_bees"); //$NON-NLS-1$
+	assertTrue("A has a field: B[][] bees_and_bees", tempField2.isArray()); //$NON-NLS-1$
+	assertTrue("A has a field: B[][] bees_and_bees", ((ArrayType) tempField2.getEType()).getComponentType().equals(tempField.getEType())); //$NON-NLS-1$
+	assertTrue("A has a field: B[][] bees_and_bees", ((ArrayType) tempField2.getEType()).getFinalComponentType().equals(bClass)); //$NON-NLS-1$
+	JavaDataType intType = (JavaDataType) JavaRefFactory.eINSTANCE.reflectType("int", set); //$NON-NLS-1$
+	assertTrue("int is not right", intType != null); //$NON-NLS-1$
+	tempField = aClass.getFieldNamed("ints"); //$NON-NLS-1$
+	assertTrue("A has a field: int[] ints", tempField.isArray()); //$NON-NLS-1$
+	assertTrue("A has a field: int[] ints", ((ArrayType) tempField.getEType()).getComponentType().equals(intType)); //$NON-NLS-1$
+	assertTrue("A has a field: int[] ints", ((ArrayType) tempField.getEType()).getFinalComponentType().equals(intType)); //$NON-NLS-1$
+	tempField2 = aClass.getFieldNamed("ints2"); //$NON-NLS-1$
+	assertTrue("A has a field: int[][] ints2", tempField2.isArray()); //$NON-NLS-1$
+	assertTrue("A has a field: int[][] ints2", ((ArrayType) tempField2.getEType()).getComponentType().equals(tempField.getEType())); //$NON-NLS-1$
+	assertTrue("A has a field: int[][] ints2", ((ArrayType) tempField2.getEType()).getFinalComponentType().equals(intType)); //$NON-NLS-1$
+	Method m = aClass.getMethod("getInts", new ArrayList(0)); //$NON-NLS-1$
+	assertTrue("A has a method: int[] getInts()", m != null); //$NON-NLS-1$
+	assertTrue("A has a method: int[] getInts()", ((JavaHelpers) m.getReturnType()).isArray()); //$NON-NLS-1$
+	assertTrue("A has a method: int[] getInts()", ((ArrayType) m.getReturnType()).getComponentType().equals(intType)); //$NON-NLS-1$
+	org.eclipse.emf.common.util.EList methods = aClass.getMethods();
+	Iterator i = methods.iterator();
+	while (i.hasNext()) {
+		Method next = (Method) i.next();
+		if (next.getName().equals("doAllPrimitives")) { //$NON-NLS-1$
+			m = next;
+			break;
+		}
+	}
+	assertTrue("A has a method: void doAllPrimitives(int[] ints, int[][] ints2, int[][][] ints3, char[] chars, float[] floats, boolean[] cools, double[] doubles, long[] longs, short[] shorts, byte[] bytes)", m != null); //$NON-NLS-1$
+	Collection parms = m.getParameters();
+	i = parms.iterator();
+	while (i.hasNext()) {
+		JavaParameter next = (JavaParameter) i.next();
+		assertTrue("doAllPrimitives has all array parameters", next.isArray()); //$NON-NLS-1$
+		assertTrue("doAllPrimitives has all primitive array parameters", ((ArrayType) next.getEType()).getFinalComponentType().isPrimitive()); //$NON-NLS-1$
+	}
+}
+/**
+ * Verify the canReflect api.
+ */
+public void testCanReflect() {
+	ResourceSet set = getResourceSet();
+	JavaClass aClass =
+		(JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.A", set); //$NON-NLS-1$
+	assertTrue("org.eclipse.jst.j2ee.java.stressSample.A messed up", aClass != null); //$NON-NLS-1$
+	assertTrue("Should be able to reflect org.eclipse.jst.j2ee.java.stressSample.A.", aClass.isExistingType()); //$NON-NLS-1$
+	JavaClass bogusClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.lang.Foo", set); //$NON-NLS-1$
+	assertTrue("java.lang.Foo messed up", bogusClass != null); //$NON-NLS-1$
+	assertTrue("Should not be able to reflect java.lang.Foo.", !bogusClass.isExistingType()); //$NON-NLS-1$
+}
+/**
+ * Get some related classes and verify their inheritance
+ */
+public void testInheritance() {
+	ResourceSet set = getResourceSet();
+	JavaClass floatClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.lang.Float", set); //$NON-NLS-1$
+	assertTrue("Float messed up", floatClass != null); //$NON-NLS-1$
+	JavaClass numberClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.lang.Number", set); //$NON-NLS-1$
+	assertTrue("Number messed up", numberClass != null); //$NON-NLS-1$
+	JavaClass objectClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.lang.Object", set); //$NON-NLS-1$
+	assertTrue("Object messed up", objectClass != null); //$NON-NLS-1$
+	assertTrue("Float should inherit from Number", floatClass.inheritsFrom(numberClass)); //$NON-NLS-1$
+	assertTrue("Number should inherit from Object", numberClass.inheritsFrom(objectClass)); //$NON-NLS-1$
+	assertTrue("Float should inherit from Object", floatClass.inheritsFrom(objectClass)); //$NON-NLS-1$
+	Method floatMethod = floatClass.getPublicMethod("floatValue", Collections.EMPTY_LIST); //$NON-NLS-1$
+	JavaDataType floatType = (JavaDataType) JavaRefFactory.eINSTANCE.reflectType("float", set); //$NON-NLS-1$
+	assertTrue("Float should have a method float floatValue()", floatMethod.getReturnType().equals(floatType)); //$NON-NLS-1$
+	JavaClass stringClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.lang.String", set); //$NON-NLS-1$
+	Method toStringMethod = floatClass.getMethodExtended("toString", Collections.EMPTY_LIST); //$NON-NLS-1$
+	assertTrue("Float should have a method String toString()", toStringMethod != null); //$NON-NLS-1$
+	assertTrue("Float should have a method String toString()", toStringMethod.getReturnType().equals(stringClass)); //$NON-NLS-1$
+
+	// Test inherited fields and their initializers
+	JavaClass aClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.A", set); //$NON-NLS-1$
+	Field aTesting = aClass.getField("testString"); //$NON-NLS-1$
+	assertTrue("A should have a field String testString", aTesting != null); //$NON-NLS-1$
+	assertTrue("A should have a field String testString = testing", aTesting.getInitializer().getSource().equals("\"testing\"")); //$NON-NLS-1$ //$NON-NLS-2$
+	JavaClass bClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.B", set); //$NON-NLS-1$
+	Field bTesting = bClass.getField("testString"); //$NON-NLS-1$
+	assertTrue("B should NOT have a field String testString", bTesting == null); //$NON-NLS-1$
+	bTesting = bClass.getFieldExtended("testString"); //$NON-NLS-1$
+	assertTrue("B should inherit have a field String testString", bTesting != null); //$NON-NLS-1$
+	assertTrue("B should inherit a field String testString = testing", bTesting.getInitializer().getSource().equals("\"testing\"")); //$NON-NLS-1$ //$NON-NLS-2$
+	JavaClass dClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.D", set); //$NON-NLS-1$
+	Field dTesting = dClass.getFieldExtended("testString"); //$NON-NLS-1$
+	assertTrue("D should inherit have a field String testString", dTesting != null); //$NON-NLS-1$
+	assertTrue("D should inherit a field String testString = testing", dTesting.getInitializer().getSource().equals("\"testing\"")); //$NON-NLS-1$ //$NON-NLS-2$
+	
+}
+/**
+ * Test for cycles.
+ *
+ */
+public void testInheritance2() {
+	ResourceSet set = getResourceSet();
+	JavaClass dClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.D", set); //$NON-NLS-1$
+	assertTrue("D messed up", dClass.isExistingType()); //$NON-NLS-1$
+	JavaClass bClass = dClass.getSupertype();
+	JavaClass aClass = bClass.getSupertype();
+	assertTrue("Should not be able to have D extend A.  This causes a cycle.", !aClass.isValidSupertype(dClass)); //$NON-NLS-1$
+}
+
+
+/**
+ * Test for cycles.
+ *
+ */
+public void testInterfaceInheritanceCycles() {
+	ResourceSet set = getResourceSet();
+	JavaClass dClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.ID", set); //$NON-NLS-1$
+	assertTrue("DInterface messed up", dClass.isExistingType()); //$NON-NLS-1$
+	JavaClass bClass = (JavaClass) dClass.getImplementsInterfaces().get(0);
+	JavaClass aClass = (JavaClass) bClass.getImplementsInterfaces().get(0);
+	assertTrue("Should not be able to have ID extend IA.  This causes a cycle.", !aClass.isValidSupertype(dClass)); //$NON-NLS-1$
+}/**
+ * Test that getEAllStructuralFeatures does trip reflection.
+ *
+ */
+public void testInheritance3() {
+	ResourceSet set = getResourceSet();
+	JavaClass dClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.D", set); //$NON-NLS-1$
+	assertTrue("D messed up", dClass.isExistingType()); //$NON-NLS-1$
+	dClass.getEAllStructuralFeatures(); //Should force reflection through inheritance.
+	JavaClassImpl aClass = (JavaClassImpl) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.A", set); //$NON-NLS-1$
+	List methods = aClass.getMethodsGen(); //No reflection
+	//Look for getChar() method
+	Iterator it = methods.iterator();
+	Method method = null;
+	while (it.hasNext()) {
+		method = (Method) it.next();
+		if (method.getName().equals("getChar")) //$NON-NLS-1$
+			break;
+		else
+			method = null;
+	}
+	assertNotNull("Failed to find getChar() method because reflection was not tripped.", method); //$NON-NLS-1$
+}/**
+ * Resolve "int"
+ * - also make sure we have the char wrapper properly setup.
+ */
+public void testPrimitives() {
+	ResourceSet set = getResourceSet();
+	JavaDataType intType = (JavaDataType) JavaRefFactory.eINSTANCE.reflectType("int", set); //$NON-NLS-1$
+	assertTrue("int is not right", intType != null); //$NON-NLS-1$
+	JavaDataType charType = (JavaDataType) JavaRefFactory.eINSTANCE.reflectType("char", set); //$NON-NLS-1$
+	assertTrue("char wrapper is broken again", charType.getWrapper() != null); //$NON-NLS-1$
+}
+/**
+ * First test is to make sure we can resolve "java.lang.String"
+ */
+public void testReflection() {
+	ResourceSet set = getResourceSet();
+	JavaHelpers string1 = JavaRefFactory.eINSTANCE.reflectType("java.lang.String", set); //$NON-NLS-1$
+	assertTrue("String1 messed up", string1 != null); //$NON-NLS-1$
+	JavaHelpers string2 = JavaRefFactory.eINSTANCE.reflectType("java.lang.String", set); //$NON-NLS-1$
+	assertTrue("String2 messed up", string2 != null); //$NON-NLS-1$
+	assertTrue("String1 and String2 not identical", (string1.equals(string2))); //$NON-NLS-1$
+}
+/**
+ * Get serializing and reading a JavaClass instance
+ */
+public void testSerialization() {
+	// Use a new context for this test, we may mess up some of these classes.
+	ResourceSet rs = JavaRefFactoryImpl.createJavaContext();
+	Resource r;
+	String fileNameURI = "out.xmi"; //$NON-NLS-1$
+	try {
+		r = rs.createResource(URI.createURI(fileNameURI));
+		// Reflect a complex class
+		JavaClass a = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.A", rs); //$NON-NLS-1$
+		// Force reflection of all properties to get a complete document
+		a.infoString();
+		rs.getResources().add(r);
+		r.getContents().add(a);
+		r.save(rs.getLoadOptions());
+	} catch (Exception e) {
+		assertTrue("Error occured serializing A: " + e, false); //$NON-NLS-1$
+	}
+
+	// Now try reading the serialized model, again into a clean context
+	rs = JavaRefFactoryImpl.createJavaContext();
+	r = null;
+	try {
+		r = rs.createResource(URI.createURI(fileNameURI));
+		r.load(null);
+	} catch (Exception e) {
+		assertTrue("Errors occurred while parsing: " + e, false); //$NON-NLS-1$
+	}
+	assertTrue("Failed to load serialized class", r != null); //$NON-NLS-1$
+	JavaClass loaded = null;
+	String errorMsg = ""; //$NON-NLS-1$
+	try {
+		loaded = (JavaClass) r.getContents().get(0);
+	} catch (Exception e) {
+	    errorMsg = "  Failed to get class A from the loaded resource. error: " + e; //$NON-NLS-1$
+	}
+	assertTrue("The serialized document should contain a single JavaClass." + errorMsg, loaded != null); //$NON-NLS-1$
+
+}
+/**
+ * Verify that a class without an extends key word still inherits
+ * from java.lang.Object.
+ */
+public void testSourceNoInheritance() {
+	ResourceSet set = getResourceSet();
+	JavaClass aClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.A", set); //$NON-NLS-1$
+	assertTrue("org.eclipse.jst.j2ee.java.stressSample.A messed up", aClass != null); //$NON-NLS-1$
+	JavaClass objectClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("java.lang.Object", set); //$NON-NLS-1$
+	assertTrue("Object messed up", objectClass != null); //$NON-NLS-1$
+	assertTrue("org.eclipse.jst.j2ee.java.stressSample.A should inherit from Object", aClass.inheritsFrom(objectClass)); //$NON-NLS-1$
+}
+/**
+ * Get some related classes and verify their inheritance
+ */
+public void testUserClass() {
+	ResourceSet set = getResourceSet();
+	JavaClass test1Interface = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.Test1Local", set); //$NON-NLS-1$
+	assertTrue("Test1Local messed up", test1Interface != null); //$NON-NLS-1$
+	assertTrue("Test1Local should be an interface, it may not be properly loaded.", test1Interface.getKind() == TypeKind.INTERFACE_LITERAL); //$NON-NLS-1$
+	assertTrue("Test1Local should be public", test1Interface.isPublic()); //$NON-NLS-1$
+	assertTrue("Test1Local should not be final", !test1Interface.isFinal()); //$NON-NLS-1$
+	// apparently all interfaces are abstract to the JDK, so skip this one
+	//assertTrue("Test1Local should not be abstract", !test1Interface.isAbstract());
+	assertTrue("Test1Local should be in package org.eclipse.jst.j2ee.java.stressSample.", test1Interface.eContainer() != null); //$NON-NLS-1$
+	assertTrue("Test1Local should be in package org.eclipse.jst.j2ee.java.stressSample.", test1Interface.getJavaPackage().getName().equals("org.eclipse.jst.j2ee.java.stressSample")); //$NON-NLS-1$ //$NON-NLS-2$
+	JavaClass ejbObjectInterface = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("javax.ejb.EJBLocalObject", set); //$NON-NLS-1$
+	assertTrue("Test1Local should implement EJBLocalObject", test1Interface.implementsInterface(ejbObjectInterface)); //$NON-NLS-1$
+	JavaClass testBeanClass = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.Test1Bean", set); //$NON-NLS-1$
+	assertTrue("Test1Bean messed up", testBeanClass != null); //$NON-NLS-1$
+	assertTrue("Test1Bean should be a class, it may not be properly loaded.", testBeanClass.getKind() == TypeKind.CLASS_LITERAL); //$NON-NLS-1$
+	assertTrue("Test1Bean should be public", testBeanClass.isPublic()); //$NON-NLS-1$
+	assertTrue("Test1Bean should not be final", !testBeanClass.isFinal()); //$NON-NLS-1$
+	assertTrue("Test1Bean should be abstract", testBeanClass.isAbstract()); //$NON-NLS-1$
+	String typeName = ((JavaClass)testBeanClass).getMethod("getName", Collections.EMPTY_LIST).getReturnType().getQualifiedName(); //$NON-NLS-1$
+	assertTrue("Test1Bean.getName() should be typed as java.lang.String (" + typeName + ")", typeName.equals("java.lang.String")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+	assertTrue("Test1Bean should be in package ", testBeanClass.eContainer() != null); //$NON-NLS-1$
+	assertTrue("Test1Bean should be in package org.eclipse.jst.j2ee.java.stressSample", testBeanClass.getJavaPackage().getName().equals("org.eclipse.jst.j2ee.java.stressSample")); //$NON-NLS-1$ //$NON-NLS-2$
+	JavaClass entityBeanInterface = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("javax.ejb.EntityBean", set); //$NON-NLS-1$
+	assertTrue("Test1Bean should implement EntityBean", testBeanClass.implementsInterface(entityBeanInterface));  //$NON-NLS-1$
+}
+/**
+ * Get some related classes and verify their inheritance
+ * This variation is most likely to run in VA/J.
+ */
+public void testUserClass1() {
+	ResourceSet set = getResourceSet();
+	JavaClass vapAddressInterface = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("com.ibm.etools.java.Field", set); //$NON-NLS-1$
+	assertTrue("Field messed up", vapAddressInterface != null); //$NON-NLS-1$
+	assertTrue("Field should be an interface, it may not be properly loaded.", vapAddressInterface.getKind() == TypeKind.INTERFACE_LITERAL); //$NON-NLS-1$
+	assertTrue("Field should be public", vapAddressInterface.isPublic()); //$NON-NLS-1$
+	assertTrue("Field should not be final", !vapAddressInterface.isFinal()); //$NON-NLS-1$
+	// apparently all interfaces are abstract to the JDK, so skip this one
+	//assertTrue("Field should not be abstract", !vapAddressInterface.isAbstract());
+	assertTrue("Field should be in package com.ibm.etools.java.", vapAddressInterface.eContainer() != null); //$NON-NLS-1$
+	assertTrue("Field should be in package com.ibm.etools.java.", vapAddressInterface.getJavaPackage().getName().equals("com.ibm.etools.java")); //$NON-NLS-1$ //$NON-NLS-2$
+	JavaClass fieldGen = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("com.ibm.etools.java.gen.FieldGen", set); //$NON-NLS-1$
+	assertTrue("Field should inherit from FieldGen", vapAddressInterface.inheritsFrom(fieldGen)); //$NON-NLS-1$
+}
+public void testInnerClass() {
+	ResourceSet set = getResourceSet();
+	JavaClass c = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.C", set); //$NON-NLS-1$
+	assertNotNull(c);
+	List cMethods = c.getMethods();
+	assertTrue("There should be one method in C.", cMethods.size() == 2); //counting default constructor //$NON-NLS-1$
+	Method cMethod = (Method) cMethods.get(0);
+	assertEquals("Wrong method name for C.", "makeRunnable", cMethod.getName()); //$NON-NLS-1$ //$NON-NLS-2$
+	List inners = c.getDeclaredClasses();
+	assertTrue("There should be one inner class.", inners.size() == 1); //$NON-NLS-1$
+	JavaClass inner = (JavaClass) inners.get(0);
+	List innerMethods = inner.getMethods();
+	assertTrue(innerMethods.size() == 2); //counting default constructor
+	Method innerMethod = (Method) innerMethods.get(0);
+	assertEquals("run", innerMethod.getName());	 //$NON-NLS-1$
+}
+public void testInnerClass2() {
+	ResourceSet set = getResourceSet();
+	JavaClass e = (JavaClass) JavaRefFactory.eINSTANCE.reflectType("org.eclipse.jst.j2ee.java.stressSample.E", set); //$NON-NLS-1$
+	assertNotNull(e);
+	List eMethods = e.getMethods();
+	assertTrue("There should be one method in E.", eMethods.size() == 2); //counting default constructor //$NON-NLS-1$
+	Method eMethod = (Method) eMethods.get(0);
+	assertEquals("Wrong method name for E.", "getTest", eMethod.getName()); //$NON-NLS-1$ //$NON-NLS-2$
+	List inners = e.getDeclaredClasses();
+	assertTrue("There should be one inner class.", inners.size() == 1); //$NON-NLS-1$
+	JavaClass inner = (JavaClass) inners.get(0);
+	List innerMethods = inner.getMethods();
+	assertTrue(innerMethods.size() == 2); //counting default constructor
+	Method innerMethod = (Method) innerMethods.get(0);
+	assertEquals("run", innerMethod.getName());	 //$NON-NLS-1$
+}
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/UIJavaBasicTests.java b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/UIJavaBasicTests.java
new file mode 100644
index 0000000..1d53f86
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/javaTests/org/eclipse/jst/j2ee/java/testing/UIJavaBasicTests.java
@@ -0,0 +1,205 @@
+/*
+ * Created on Nov 29, 2004
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+package org.eclipse.jst.j2ee.java.testing;
+
+import java.io.File;
+import java.io.FileFilter;
+import java.lang.reflect.InvocationTargetException;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IProjectDescription;
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.SubProgressMonitor;
+import org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT;
+import org.eclipse.ui.actions.WorkspaceModifyOperation;
+
+
+
+/**
+ * @author nirav
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Style - Code Templates
+ */
+public class UIJavaBasicTests extends TestSuite {
+	IProjectDescription description;
+	private FileFilter projectFilter = new FileFilter() {
+        //Only accept those files that are .project
+        public boolean accept(File pathName) {
+            return pathName.getName().equals(
+                    IProjectDescription.DESCRIPTION_FILE_NAME);
+        }
+    };
+	/**
+	 * @param name
+	 */
+	public UIJavaBasicTests() {
+		super();
+		createExistingProject();
+		TestSuite suite = (TestSuite) suite();
+        for (int i = 0; i < suite.testCount(); i++) {
+            addTest(suite.testAt(i));
+        }
+		//addTestSuite(JavaBasicTests.class);
+	}
+	
+	/**
+	 * @return
+	 */
+	protected Test suite() {
+		TestSuite suite = new TestSuite();
+		suite.addTestSuite(JavaBasicTests.class);
+		return suite;
+	}
+	
+	/**
+     * Creates a new project resource with the selected name.
+     * <p>
+     * In normal usage, this method is invoked after the user has pressed Finish on
+     * the wizard; the enablement of the Finish button implies that all controls
+     * on the pages currently contain valid values.
+     * </p>
+     *
+     * @return the created project resource, or <code>null</code> if the project
+     *    was not created
+     */
+    protected IProject createExistingProject() {
+
+        String projectName = "StressSampleProject";
+        final IWorkspace workspace = ResourcesPlugin.getWorkspace();
+        final IProject project = workspace.getRoot().getProject(projectName);
+        if (this.description == null) {
+            this.description = workspace.newProjectDescription(projectName);
+            IPath locationPath = getLocationPath();
+            //If it is under the root use the default location
+            if (isPrefixOfRoot(locationPath))
+                this.description.setLocation(null);
+            else
+                this.description.setLocation(locationPath);
+        } else
+            this.description.setName(projectName);
+
+        // create the new project operation
+        WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
+            protected void execute(IProgressMonitor monitor)
+                    throws CoreException {
+                monitor.beginTask("", 2000); //$NON-NLS-1$
+                project.create(description, new SubProgressMonitor(monitor,
+                        1000));
+                if (monitor.isCanceled())
+                    throw new OperationCanceledException();
+                project.open(new SubProgressMonitor(monitor, 1000));
+
+            }
+        };
+
+        // run the new project creation operation
+        try {
+        	op.run(null);
+        } catch (InterruptedException e) {
+            return null;
+        } catch (InvocationTargetException e) {
+            // ie.- one of the steps resulted in a core exception	
+            Throwable t = e.getTargetException();
+            /*
+            if (t instanceof CoreException) {
+                if (((CoreException) t).getStatus().getCode() == IResourceStatus.CASE_VARIANT_EXISTS) {
+                    MessageDialog
+                            .openError(
+                                    getShell(),
+                                    DataTransferMessages
+                                            .getString("WizardExternalProjectImportPage.errorMessage"), //$NON-NLS-1$
+                                    DataTransferMessages
+                                            .getString("WizardExternalProjectImportPage.caseVariantExistsError") //$NON-NLS-1$,
+                            );
+                } else {
+                    ErrorDialog
+                            .openError(
+                                    getShell(),
+                                    DataTransferMessages
+                                            .getString("WizardExternalProjectImportPage.errorMessage"), //$NON-NLS-1$
+                                    null, ((CoreException) t).getStatus());
+                }
+            }*/
+            return null;
+        }
+
+        return project;
+    }
+    
+    /**
+	 * @return
+	 */
+	private IPath getLocationPath() {
+		return new Path(getProjectLocation());
+	}
+
+	/**
+	 * @return
+	 */
+	private String getProjectLocation() {
+		String location = AutomatedBVT.baseDirectory + "StressSampleProject";
+		return location;
+	}
+
+	/**
+     * Set the project name using either the name of the
+     * parent of the file or the name entry in the xml for 
+     * the file
+     */
+    private void setProjectName(File projectFile) {
+
+        //If there is no file or the user has already specified forget it
+        if (projectFile == null)
+            return;
+
+        IPath path = new Path(projectFile.getPath());
+
+        IProjectDescription newDescription = null;
+
+        try {
+            newDescription = ResourcesPlugin.getWorkspace().loadProjectDescription(path);
+        } catch (CoreException exception) {
+            //no good couldn't get the name
+        }
+    }
+    /**
+     * Return a.project file from the specified location.
+     * If there isn't one return null.
+     */
+    private File projectFile(String locationFieldContents) {
+        File directory = new File(locationFieldContents);
+        if (directory.isFile())
+            return null;
+
+        File[] files = directory.listFiles(this.projectFilter);
+        if (files != null && files.length == 1)
+            return files[0];
+        else
+            return null;
+    }
+   
+    /**
+     * Return whether or not the specifed location is a prefix
+     * of the root.
+     */
+    private boolean isPrefixOfRoot(IPath locationPath) {
+        return Platform.getLocation().isPrefixOf(locationPath);
+    }
+    
+}
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/out.xmi b/tests/org.eclipse.jst.j2ee.core.tests/out.xmi
new file mode 100644
index 0000000..47d30c3
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/out.xmi
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="ASCII"?>

+<org.eclipse.jem.internal.java:JavaClass xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:org.eclipse.jem.internal.java="java.xmi" name="A" kind="CLASS" public="true">

+  <eSuperTypes href="java:/java.lang#Object"/>

+  <implementsInterfaces href="java:/com.ibm.etools.java.stressSample#IA"/>

+  <fields name="anA" eType="/"/>

+  <fields name="aB">

+    <eType xsi:type="org.eclipse.jem.internal.java:JavaClass" href="java:/com.ibm.etools.java.stressSample#B"/>

+  </fields>

+  <fields name="bees">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/com.ibm.etools.java.stressSample#B[]"/>

+  </fields>

+  <fields name="bees_and_bees">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/com.ibm.etools.java.stressSample#B[][]"/>

+  </fields>

+  <fields name="ints">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#int[]"/>

+  </fields>

+  <fields name="ints2">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#int[][]"/>

+  </fields>

+  <fields name="ints3">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#int[][][]"/>

+  </fields>

+  <fields name="chars">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#char[]"/>

+  </fields>

+  <fields name="floats">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#float[]"/>

+  </fields>

+  <fields name="cools">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#boolean[]"/>

+  </fields>

+  <fields name="doubles">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#double[]"/>

+  </fields>

+  <fields name="longs">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#long[]"/>

+  </fields>

+  <fields name="shorts">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#short[]"/>

+  </fields>

+  <fields name="bytes">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#byte[]"/>

+  </fields>

+  <fields name="testString" final="true" static="true">

+    <eType xsi:type="org.eclipse.jem.internal.java:JavaClass" href="java:/java.lang#String"/>

+    <initializer source="&quot;testing&quot;" name="testString_block"/>

+  </fields>

+  <methods name="doAllPrimitives">

+    <eType xsi:type="org.eclipse.jem.internal.java:JavaDataType" href="java:/#void"/>

+    <parameters name="arg0">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#int[]"/>

+    </parameters>

+    <parameters name="arg1">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#int[][]"/>

+    </parameters>

+    <parameters name="arg2">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#int[][][]"/>

+    </parameters>

+    <parameters name="arg3">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#char[]"/>

+    </parameters>

+    <parameters name="arg4">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#float[]"/>

+    </parameters>

+    <parameters name="arg5">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#boolean[]"/>

+    </parameters>

+    <parameters name="arg6">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#double[]"/>

+    </parameters>

+    <parameters name="arg7">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#long[]"/>

+    </parameters>

+    <parameters name="arg8">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#short[]"/>

+    </parameters>

+    <parameters name="arg9">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#byte[]"/>

+    </parameters>

+  </methods>

+  <methods name="doSomething">

+    <eType xsi:type="org.eclipse.jem.internal.java:JavaClass" href="java:/com.ibm.etools.java.stressSample#C"/>

+  </methods>

+  <methods name="getBytes">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#byte[]"/>

+  </methods>

+  <methods name="getChar">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#char[]"/>

+  </methods>

+  <methods name="getFloats">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#float[]"/>

+  </methods>

+  <methods name="getInts">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#int[]"/>

+  </methods>

+  <methods name="getLongs">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#long[]"/>

+  </methods>

+  <methods name="getShorts">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/#short[]"/>

+  </methods>

+  <methods name="returnAs">

+    <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/com.ibm.etools.java.stressSample#A[]"/>

+    <parameters name="arg0">

+      <eType xsi:type="org.eclipse.jem.internal.java:ArrayType" href="java:/com.ibm.etools.java.stressSample#C[]"/>

+    </parameters>

+  </methods>

+  <methods name="A" constructor="true"/>

+</org.eclipse.jem.internal.java:JavaClass>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/plugin.xml b/tests/org.eclipse.jst.j2ee.core.tests/plugin.xml
new file mode 100644
index 0000000..8fc4cd0
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/plugin.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin
+   id="org.eclipse.jst.j2ee.core.tests"
+   name="J2EE Core Tests Component"
+   version="1.0.0"
+   provider-name="IBM"
+   class="">
+
+
+   <runtime>
+      <library name="tests.jar">
+         <export name="*"/>
+      </library>
+   </runtime>
+   <requires>
+      <import plugin="org.junit"/>
+      <import plugin="org.eclipse.jst.j2ee.core"/>
+      <import plugin="org.eclipse.jem.workbench"/>
+      <import plugin="org.eclipse.wst.common.emf"/>
+      <import plugin="org.eclipse.emf.ecore.xmi"/>
+      <import plugin="org.eclipse.jem"/>
+      <import plugin="org.eclipse.core.runtime"/>
+      <import plugin="org.eclipse.ui.ide"/>
+      <import plugin="org.eclipse.jface"/>
+      <import plugin="org.eclipse.wst.common.frameworks"/>
+      <import plugin="org.eclipse.core.resources"/>
+
+   </requires>
+
+
+   <extension
+         point="org.eclipse.wst.common.tests.collector.suites">
+      <suite
+            suiteName="J2EE Core BVT"
+            suiteClass="org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVTEclipse">
+      </suite>
+   </extension>
+
+</plugin>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/test.xml b/tests/org.eclipse.jst.j2ee.core.tests/test.xml
new file mode 100644
index 0000000..3c488ac
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/test.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+
+<project name="testsuite" default="run" basedir=".">
+  <!-- The property ${eclipse-home} should be passed into this script -->
+  <!-- Set a meaningful default value for when it is not. -->
+ <!-- <property name="eclipse-home" value="${basedir}\..\.."/> -->
+	<echo message="basedir ${basedir}" />
+	<echo message="eclipse place ${eclipse-home}" />
+  <!-- sets the properties plugin-name, and library-file -->
+  <property name="plugin-name" value="org.eclipse.jst.j2ee.core.tests"/>
+  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test_3.1.0/library.xml"/>
+
+  <!-- This target holds all initialization code that needs to be done for -->
+  <!-- all tests that are to be run. Initialization for individual tests -->
+  <!-- should be done within the body of the suite target. -->
+  <target name="init">
+    <tstamp/>
+    <delete>
+      <fileset dir="${eclipse-home}" includes="org*.xml"/>
+    </delete>
+  </target>
+
+  <!-- This target defines the tests that need to be run. -->
+  <target name="suite">
+    <property name="jst-folder" value="${eclipse-home}/jst_folder"/>
+    <delete dir="${jst-folder}" quiet="true"/>
+    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
+      <property name="data-dir" value="${jst-folder}"/>
+      <property name="plugin-name" value="${plugin-name}"/>
+      <property name="classname" value="org.eclipse.jst.j2ee.core.tests.bvt.AutomatedBVT" />
+   	  <property name="plugin-path" value="${eclipse-home}/plugins/${plugin-name}"/>
+    </ant>
+  </target>
+
+  <!-- This target holds code to cleanup the testing environment after -->
+  <!-- after all of the tests have been run. You can use this target to -->
+  <!-- delete temporary files that have been created. -->
+  <target name="cleanup">
+  </target>
+
+  <!-- This target runs the test suite. Any actions that need to happen -->
+  <!-- after all the tests have been run should go here. -->
+  <target name="run" depends="init,suite,cleanup">
+    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
+      <property name="includes" value="org*.xml"/>
+      <property name="output-file" value="${plugin-name}.xml"/>
+    </ant>
+  </target>
+</project>
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1041650
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/MANIFEST.MF
@@ -0,0 +1,5 @@
+Manifest-Version: 1.0
+Ant-Version: Apache Ant 1.5.4 
+Created-By: 1.3.0 (IBM Corporation)
+Main-Class: null
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/Table.ddl b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/Table.ddl
new file mode 100644
index 0000000..5780861
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/Table.ddl
@@ -0,0 +1,13 @@
+

+

+-- Generated by Relational Schema Center on Fri Mar 12 14:32:14 CST 2004

+

+

+CREATE TABLE ACCOUNT

+  (ACCOUNTID VARCHAR(250) NOT NULL,

+   TYPE1 INTEGER NOT NULL,

+   BALANCE DOUBLE PRECISION NOT NULL,

+   APR DOUBLE PRECISION NOT NULL);

+

+ALTER TABLE ACCOUNT

+  ADD CONSTRAINT PK_ACCOUNT PRIMARY KEY (ACCOUNTID);
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/Map.mapxmi b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/Map.mapxmi
new file mode 100644
index 0000000..a19a98e
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/Map.mapxmi
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ejbrdbmapping:EjbRdbDocumentRoot xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:RDBSchema="RDBSchema.xmi" xmlns:ejb="ejb.xmi" xmlns:ejbrdbmapping="ejbrdbmapping.xmi" xmlns:Mapping="Mapping.xmi" xmi:id="EjbRdbDocumentRoot_1079123516907" topToBottom="true" commandStack="&lt;collection>&lt;command-creation-record>&lt;class name=&quot;com.ibm.etools.ejbrdbmapping.command.TopDownEjbJarCommand&quot;/>&lt;command-parameter>&lt;ref-object href=&quot;platform:/resource/b63748ba/ejbModule/META-INF/ejb-jar.xml#ejb-jar_ID&quot;/>&lt;null/>&lt;collection>&lt;string value=&quot;TopDownDB&quot;/>&lt;null/>&lt;int value=&quot;18&quot;/>&lt;hashtable>&lt;/hashtable>&lt;hashtable>&lt;/hashtable>&lt;boolean value=&quot;false&quot;/>&lt;boolean value=&quot;false&quot;/>&lt;/collection>&lt;null/>&lt;int value=&quot;-1&quot;/>&lt;/command-parameter>&lt;/command-creation-record>&lt;/collection>">

+  <helper xmi:type="ejbrdbmapping:RdbSchemaProperies" xmi:id="RdbSchemaProperies_1079123516907" primitivesDocument="CLOUDSCAPE_V50"/>

+  <nested xmi:type="ejbrdbmapping:RDBEjbMapper" xmi:id="RDBEjbMapper_1079123516907">

+    <helper xmi:type="ejbrdbmapping:PrimaryTableStrategy" xmi:id="PrimaryTableStrategy_1079123516907">

+      <table href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi#ACCOUNT"/>

+    </helper>

+    <nested xmi:type="ejbrdbmapping:RDBEjbFieldMapper" xmi:id="RDBEjbFieldMapper_1079123516907">

+      <inputs xmi:type="ejb:CMPAttribute" href="META-INF/ejb-jar.xml#Account_accountid"/>

+      <outputs xmi:type="RDBSchema:RDBColumn" href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi#ACCOUNTID"/>

+      <typeMapping href="JavatoCLOUDSCAPE_V50TypeMaps.xmi#String-VARCHAR"/>

+    </nested>

+    <nested xmi:type="ejbrdbmapping:RDBEjbFieldMapper" xmi:id="RDBEjbFieldMapper_1079123516908" optimistic="true">

+      <inputs xmi:type="ejb:CMPAttribute" href="META-INF/ejb-jar.xml#Account_type"/>

+      <outputs xmi:type="RDBSchema:RDBColumn" href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi#TYPE1"/>

+      <typeMapping href="JavatoCLOUDSCAPE_V50TypeMaps.xmi#int-INTEGER"/>

+    </nested>

+    <nested xmi:type="ejbrdbmapping:RDBEjbFieldMapper" xmi:id="RDBEjbFieldMapper_1079123516909" optimistic="true">

+      <inputs xmi:type="ejb:CMPAttribute" href="META-INF/ejb-jar.xml#Account_balance"/>

+      <outputs xmi:type="RDBSchema:RDBColumn" href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi#BALANCE"/>

+      <typeMapping href="JavatoCLOUDSCAPE_V50TypeMaps.xmi#double-DOUBLE"/>

+    </nested>

+    <nested xmi:type="ejbrdbmapping:RDBEjbFieldMapper" xmi:id="RDBEjbFieldMapper_1079123516910" optimistic="true">

+      <inputs xmi:type="ejb:CMPAttribute" href="META-INF/ejb-jar.xml#Account_apr"/>

+      <outputs xmi:type="RDBSchema:RDBColumn" href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi#APR"/>

+      <typeMapping href="JavatoCLOUDSCAPE_V50TypeMaps.xmi#double-DOUBLE"/>

+    </nested>

+    <inputs xmi:type="ejb:ContainerManagedEntity" href="META-INF/ejb-jar.xml#ContainerManagedEntity_1"/>

+    <outputs xmi:type="RDBSchema:RDBTable" href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi#ACCOUNT"/>

+  </nested>

+  <inputs xmi:type="ejb:EJBJar" href="META-INF/ejb-jar.xml#ejb-jar_ID"/>

+  <outputs xmi:type="RDBSchema:RDBDatabase" href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB.dbxmi#TopDownDB"/>

+  <typeMapping xmi:type="Mapping:MappingRoot" href="JavatoCLOUDSCAPE_V50TypeMaps.xmi#Java_to_CLOUDSCAPE_V50_TypeMaps"/>

+</ejbrdbmapping:EjbRdbDocumentRoot>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/Table.ddl b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/Table.ddl
new file mode 100644
index 0000000..5780861
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/Table.ddl
@@ -0,0 +1,13 @@
+

+

+-- Generated by Relational Schema Center on Fri Mar 12 14:32:14 CST 2004

+

+

+CREATE TABLE ACCOUNT

+  (ACCOUNTID VARCHAR(250) NOT NULL,

+   TYPE1 INTEGER NOT NULL,

+   BALANCE DOUBLE PRECISION NOT NULL,

+   APR DOUBLE PRECISION NOT NULL);

+

+ALTER TABLE ACCOUNT

+  ADD CONSTRAINT PK_ACCOUNT PRIMARY KEY (ACCOUNTID);
\ No newline at end of file
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB.dbxmi b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB.dbxmi
new file mode 100644
index 0000000..914bdee
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB.dbxmi
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<RDBSchema:RDBDatabase xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:RDBSchema="RDBSchema.xmi" xmi:id="TopDownDB" name="TopDownDB">

+  <schemata href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID.schxmi#NULLID"/>

+  <tableGroup xmi:type="RDBSchema:RDBTable" href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi#ACCOUNT"/>

+  <domain href="CLOUDSCAPE_V50_Domain.xmi#SQLVendor_1"/>

+</RDBSchema:RDBDatabase>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID.schxmi b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID.schxmi
new file mode 100644
index 0000000..ca20a40
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID.schxmi
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<RDBSchema:RDBSchema xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:RDBSchema="RDBSchema.xmi" xmi:id="NULLID" name="NULLID">

+  <database href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB.dbxmi#TopDownDB"/>

+  <tables xmi:type="RDBSchema:RDBTable" href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi#ACCOUNT"/>

+</RDBSchema:RDBSchema>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi
new file mode 100644
index 0000000..adf1d75
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID_ACCOUNT.tblxmi
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<RDBSchema:RDBTable xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:RDBSchema="RDBSchema.xmi" xmi:id="ACCOUNT" name="ACCOUNT" primaryKey="PK_ACCOUNT">

+  <database href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB.dbxmi#TopDownDB"/>

+  <schema href="META-INF/backends/CLOUDSCAPE_V50_1/TopDownDB_NULLID.schxmi#NULLID"/>

+  <columns xmi:type="RDBSchema:RDBColumn" xmi:id="ACCOUNTID" name="ACCOUNTID">

+    <type xmi:type="RDBSchema:SQLCharacterStringType" xmi:id="SQLCharacterStringType_1079123516977" length="250">

+      <originatingType xmi:type="RDBSchema:SQLCharacterStringType" href="JavatoCLOUDSCAPE_V50TypeMaps.xmi#SQLCharacterStringType_250"/>

+    </type>

+  </columns>

+  <columns xmi:type="RDBSchema:RDBColumn" xmi:id="TYPE1" name="TYPE1">

+    <type xmi:type="RDBSchema:SQLExactNumeric" xmi:id="SQLExactNumeric_1079123516977">

+      <originatingType xmi:type="RDBSchema:SQLExactNumeric" href="CLOUDSCAPE_V50_Primitives.xmi#SQLExactNumeric_1"/>

+    </type>

+  </columns>

+  <columns xmi:type="RDBSchema:RDBColumn" xmi:id="BALANCE" name="BALANCE">

+    <type xmi:type="RDBSchema:SQLApproximateNumeric" xmi:id="SQLApproximateNumeric_1079123516977">

+      <originatingType xmi:type="RDBSchema:SQLApproximateNumeric" href="CLOUDSCAPE_V50_Primitives.xmi#SQLApproximateNumeric_1"/>

+    </type>

+  </columns>

+  <columns xmi:type="RDBSchema:RDBColumn" xmi:id="APR" name="APR">

+    <type xmi:type="RDBSchema:SQLApproximateNumeric" xmi:id="SQLApproximateNumeric_1079123516978">

+      <originatingType xmi:type="RDBSchema:SQLApproximateNumeric" href="CLOUDSCAPE_V50_Primitives.xmi#SQLApproximateNumeric_1"/>

+    </type>

+  </columns>

+  <namedGroup xmi:type="RDBSchema:SQLReference" xmi:id="PK_ACCOUNT" name="PK_ACCOUNT" members="ACCOUNTID" constraint="SQLConstraint_1079123516977"/>

+  <constraints xmi:id="SQLConstraint_1079123516977" name="PK_ACCOUNT" type="PRIMARYKEY" primaryKey="PK_ACCOUNT"/>

+</RDBSchema:RDBTable>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/ibm_pmbab.properties b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/ibm_pmbab.properties
new file mode 100644
index 0000000..d6f62d3
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/backends/CLOUDSCAPE_V50_1/ibm_pmbab.properties
@@ -0,0 +1,2 @@
+#Fri Mar 12 14:32:01 CST 2004
+Account=com.ibm.websphere.samples.appprofile.accountmanagementejb.websphere_deploy.CLOUDSCAPE_V50_1.AccountBeanAdaptorBinding_0c182135
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ejb-jar.xml b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ejb-jar.xml
new file mode 100644
index 0000000..9d9860f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ejb-jar.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
+
+   <ejb-jar id="ejb-jar_ID">
+      <display-name>AppProfileSampleEJBModule</display-name>
+      <enterprise-beans>
+         <entity id="ContainerManagedEntity_1">
+            <ejb-name>Account</ejb-name>
+            <home>com.ibm.websphere.samples.appprofile.accountmanagementejb.AccountHome</home>
+            <remote>com.ibm.websphere.samples.appprofile.accountmanagementejb.Account</remote>
+            <local-home>com.ibm.websphere.samples.appprofile.accountmanagementejb.LocalAccountHome</local-home>
+            <local>com.ibm.websphere.samples.appprofile.accountmanagementejb.LocalAccount</local>
+            <ejb-class>com.ibm.websphere.samples.appprofile.accountmanagementejb.AccountBean</ejb-class>
+            <persistence-type>Container</persistence-type>
+            <prim-key-class>java.lang.String</prim-key-class>
+            <reentrant>False</reentrant>
+            <cmp-version>2.x</cmp-version>
+            <abstract-schema-name>Account</abstract-schema-name>
+            <cmp-field id="Account_accountid">
+               <field-name>accountid</field-name>
+            </cmp-field>
+            <cmp-field id="Account_type">
+               <field-name>type</field-name>
+            </cmp-field>
+            <cmp-field id="Account_balance">
+               <field-name>balance</field-name>
+            </cmp-field>
+            <cmp-field id="Account_apr">
+               <field-name>apr</field-name>
+            </cmp-field>
+            <primkey-field>accountid</primkey-field>
+            <query id="Query_1">
+               <query-method id="QueryMethod_1">
+                  <method-name>findLargeAccounts</method-name>
+                  <method-params>
+                     <method-param>double</method-param>
+                  </method-params>
+               </query-method>
+               <ejb-ql>SELECT OBJECT(a) FROM Account a WHERE a.balance >= ?1</ejb-ql>
+            </query>
+            <query id="Query_2">
+               <query-method id="QueryMethod_2">
+                  <method-name>findByAccountId</method-name>
+                  <method-params>
+                     <method-param>java.lang.String</method-param>
+                  </method-params>
+               </query-method>
+               <ejb-ql>SELECT OBJECT(a) FROM Account a WHERE a.accountid  = ?1</ejb-ql>
+            </query>
+            <query id="Query_3">
+               <query-method id="QueryMethod_3">
+                  <method-name>findAllAccounts</method-name>
+                  <method-params>
+                     <method-param></method-param>
+                  </method-params>
+               </query-method>
+               <ejb-ql>SELECT OBJECT(a) FROM Account a</ejb-ql>
+            </query>
+         </entity>
+         <session id="Session_1">
+            <display-name>AccountManager</display-name>
+            <ejb-name>AccountManager</ejb-name>
+            <home>com.ibm.websphere.samples.appprofile.accountmanagementejb.AccountManagerHome</home>
+            <remote>com.ibm.websphere.samples.appprofile.accountmanagementejb.AccountManager</remote>
+            <ejb-class>com.ibm.websphere.samples.appprofile.accountmanagementejb.AccountManagerBean</ejb-class>
+            <session-type>Stateless</session-type>
+            <transaction-type>Container</transaction-type>
+            <ejb-local-ref id="EJBLocalRef_1">
+               <ejb-ref-name>ejb/AppProfileSample-AccountHome</ejb-ref-name>
+               <ejb-ref-type>Entity</ejb-ref-type>
+               <local-home>com.ibm.websphere.samples.appprofile.accountmanagementejb.LocalAccountHome</local-home>
+               <local>com.ibm.websphere.samples.appprofile.accountmanagementejb.LocalAccount</local>
+               <ejb-link>Account</ejb-link>
+            </ejb-local-ref>
+         </session>
+      </enterprise-beans>
+   </ejb-jar>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ibm-ejb-jar-bnd.xmi b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ibm-ejb-jar-bnd.xmi
new file mode 100644
index 0000000..d690d43
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ibm-ejb-jar-bnd.xmi
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ejbbnd:EJBJarBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejbbnd="ejbbnd.xmi" xmlns:ejb="ejb.xmi" xmlns:common="common.xmi" xmi:id="ejb-jar_ID_Bnd" currentBackendId="CLOUDSCAPE_V50_1">

+  <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/>

+  <ejbBindings xmi:id="ContainerManagedEntity_1_Bnd" jndiName="AppProfileSample-AccountHome">

+    <enterpriseBean xmi:type="ejb:ContainerManagedEntity" href="META-INF/ejb-jar.xml#ContainerManagedEntity_1"/>

+  </ejbBindings>

+  <ejbBindings xmi:id="EnterpriseBeanBinding_1" jndiName="AppProfileSample-AccountManagerHome">

+    <enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#Session_1"/>

+    <ejbRefBindings xmi:id="EjbRefBinding_1" jndiName="AppProfileSample-AccountHome">

+      <bindingEjbRef xmi:type="common:EJBLocalRef" href="META-INF/ejb-jar.xml#EJBLocalRef_1"/>

+    </ejbRefBindings>

+  </ejbBindings>

+  <defaultCMPConnectionFactory xmi:id="CMPConnectionFactoryBinding_2" jndiName="eis/jdbc/AppProfileSampleDB_CMP" resAuth="Per_Connection_Factory"/>

+</ejbbnd:EJBJarBinding>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ibm-ejb-jar-ext-pme.xmi b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ibm-ejb-jar-ext-pme.xmi
new file mode 100644
index 0000000..3eeecb1
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ibm-ejb-jar-ext-pme.xmi
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<pmeext:PMEEJBJarExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:appprofileejbext="http://www.ibm.com/websphere/appserver/schemas/5.0/appprofileejbext.xmi" xmlns:ejbext="ejbext.xmi" xmlns:ejb="ejb.xmi" xmlns:pmeext="http://www.ibm.com/websphere/appserver/schemas/5.0/pmeext.xmi" xmi:id="PMEEJBJarExtension_1">

+  <appProfileEJBJarExtension xmi:id="AppProfileEJBJarExtension_1">

+    <applicationProfiles xmi:id="EJBModuleProfile_1" name="Read-only" description="This profile will apply a read-only access-intent policy to the multifinder for the Account entity bean.">

+      <appliedAccessIntents xmi:id="AppliedAccessIntent_1072828753424" name="com.ibm.websphere.ejbquery.Default" description="All methods of the Account bean are set for read only." accessIntentName="wsPessimisticRead">

+        <methodElements xmi:id="MethodElement_1072828753424" type="Unspecified">

+          <enterpriseBean xmi:type="ejb:ContainerManagedEntity" href="META-INF/ejb-jar.xml#ContainerManagedEntity_1"/>

+        </methodElements>

+      </appliedAccessIntents>

+      <tasks xmi:id="Task_1071093415784" name="getLargeAccounts" description="This task will be used by AccountManager session bean for read-only intent."/>

+    </applicationProfiles>

+    <ejbJarExtension href="META-INF/ibm-ejb-jar-ext.xmi#ejb-jar_ID_Ext"/>

+    <definedAccessIntentPolicies xmi:id="DefinedAccessIntentPolicy_1" name="PessimisticUpdate - Increment 10" description="This is a custom policy that keeps all the attributes of wsPessimisiticUpdate except for collection increment, which is set to 10.">

+      <accessIntentEntries xmi:type="ejbext:PessimisticUpdate" xmi:id="PessimisticUpdate_1072824290817"/>

+      <accessIntentEntries xmi:type="ejbext:CollectionIncrement" xmi:id="CollectionIncrement_1072824290817" collectionIncrement="10"/>

+      <accessIntentEntries xmi:type="ejbext:ResourceManagerPreFetchIncrement" xmi:id="ResourceManagerPreFetchIncrement_1072824290817" preFetchIncrement="0"/>

+      <accessIntentEntries xmi:type="ejbext:TransactionScope" xmi:id="TransactionScope_1072824290817"/>

+    </definedAccessIntentPolicies>

+    <runAsTasks xmi:id="RunAsTask_2" name="getLargeAcounts">

+      <taskRunAsKind xmi:type="appprofileejbext:RunAsSpecifiedTask" xmi:id="RunAsSpecifiedTask_2">

+        <task xmi:id="Task_5" name="getLargeAccounts" description="for viewing account data only"/>

+      </taskRunAsKind>

+      <methodElements xmi:id="MethodElement_3" name="getLargeAccounts" parms="double " type="Remote">

+        <enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#Session_1"/>

+      </methodElements>

+    </runAsTasks>

+    <appProfileComponentExtensions xmi:id="AppProfileComponentExtension_1">

+      <componentExtension xmi:type="ejbext:SessionExtension" href="META-INF/ibm-ejb-jar-ext.xmi#SessionExtension_1"/>

+    </appProfileComponentExtensions>

+    <appProfileComponentExtensions xmi:id="AppProfileComponentExtension_2">

+      <componentExtension xmi:type="ejbext:ContainerManagedEntityExtension" href="META-INF/ibm-ejb-jar-ext.xmi#ContainerManagedEntity_1_Ext"/>

+    </appProfileComponentExtensions>

+  </appProfileEJBJarExtension>

+</pmeext:PMEEJBJarExtension>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ibm-ejb-jar-ext.xmi b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ibm-ejb-jar-ext.xmi
new file mode 100644
index 0000000..673264f
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/ejb/META-INF/ibm-ejb-jar-ext.xmi
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>

+<ejbext:EJBJarExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejbext="ejbext.xmi" xmlns:ejb="ejb.xmi" xmi:id="ejb-jar_ID_Ext">

+  <ejbExtensions xmi:type="ejbext:ContainerManagedEntityExtension" xmi:id="ContainerManagedEntity_1_Ext" concurrencyControl="pessimistic">

+    <enterpriseBean xmi:type="ejb:ContainerManagedEntity" href="META-INF/ejb-jar.xml#ContainerManagedEntity_1"/>

+    <structure xmi:id="BeanStructure_1" inheritenceRoot="false"/>

+    <beanCache xmi:id="BeanCache_1" activateAt="TRANSACTION" loadAt="TRANSACTION"/>

+    <localTran xmi:id="LocalTran_1" boundary="BEAN_METHOD" unresolvedAction="ROLLBACK"/>

+    <dataCache xmi:id="DataCache_1" lifetimeInCache="0" lifetimeInCacheUsage="OFF"/>

+  </ejbExtensions>

+  <ejbExtensions xmi:type="ejbext:SessionExtension" xmi:id="SessionExtension_1" timeout="600">

+    <enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#Session_1"/>

+    <structure xmi:id="BeanStructure_2" inheritenceRoot="false"/>

+    <beanCache xmi:id="BeanCache_2" activateAt="ONCE"/>

+    <localTran xmi:id="LocalTran_2" boundary="BEAN_METHOD" unresolvedAction="ROLLBACK"/>

+  </ejbExtensions>

+  <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/>

+  <appliedAccessIntents xmi:id="AppliedAccessIntent_1071093415744" name="com.ibm.websphere.ejbquery.Default" description="" accessIntentName="PessimisticUpdate - Increment 10">

+    <methodElements xmi:id="MethodElement_1071093415744" type="Unspecified">

+      <enterpriseBean xmi:type="ejb:ContainerManagedEntity" href="META-INF/ejb-jar.xml#ContainerManagedEntity_1"/>

+    </methodElements>

+  </appliedAccessIntents>

+</ejbext:EJBJarExtension>

diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/META-INF/ejb-jar.xml b/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/META-INF/ejb-jar.xml
new file mode 100644
index 0000000..2693c86
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/META-INF/ejb-jar.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar id="ejb-jar_ID" version="2.1" 
+	xmlns="http://java.sun.com/xml/ns/j2ee" >
+	<display-name>
+	TestEJB</display-name>
+	<enterprise-beans>
+		<session id="T1">
+			<ejb-name>T1</ejb-name>
+			<home>ejbs.T1Home</home>
+			<remote>ejbs.T1</remote>
+			<ejb-class>ejbs.T1Bean</ejb-class>
+			<session-type>Stateless</session-type>
+			<transaction-type>Container</transaction-type>
+		</session>
+	</enterprise-beans>
+</ejb-jar>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/ejbs/T1.class b/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/ejbs/T1.class
new file mode 100644
index 0000000..cda4e08
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/ejbs/T1.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/ejbs/T1Bean.class b/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/ejbs/T1Bean.class
new file mode 100644
index 0000000..51cb4f6
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/ejbs/T1Bean.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/ejbs/T1Home.class b/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/ejbs/T1Home.class
new file mode 100644
index 0000000..a579832
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/no-sl/ejbs/T1Home.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/META-INF/MANIFEST.MF b/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..59499bc
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/META-INF/MANIFEST.MF
@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/META-INF/ejb-jar.xml b/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/META-INF/ejb-jar.xml
new file mode 100644
index 0000000..af37a03
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/META-INF/ejb-jar.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ejb-jar id="ejb-jar_ID" version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
+	<display-name>
+	TestEJB</display-name>
+	<enterprise-beans>
+		<session id="T1">
+			<ejb-name>T1</ejb-name>
+			<home>ejbs.T1Home</home>
+			<remote>ejbs.T1</remote>
+			<ejb-class>ejbs.T1Bean</ejb-class>
+			<session-type>Stateless</session-type>
+			<transaction-type>Container</transaction-type>
+		</session>
+	</enterprise-beans>
+</ejb-jar>
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/ejbs/T1.class b/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/ejbs/T1.class
new file mode 100644
index 0000000..cda4e08
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/ejbs/T1.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/ejbs/T1Bean.class b/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/ejbs/T1Bean.class
new file mode 100644
index 0000000..51cb4f6
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/ejbs/T1Bean.class
Binary files differ
diff --git a/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/ejbs/T1Home.class b/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/ejbs/T1Home.class
new file mode 100644
index 0000000..a579832
--- /dev/null
+++ b/tests/org.eclipse.jst.j2ee.core.tests/testData/sl/ejbs/T1Home.class
Binary files differ