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=""testing"" 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="<collection><command-creation-record><class name="com.ibm.etools.ejbrdbmapping.command.TopDownEjbJarCommand"/><command-parameter><ref-object href="platform:/resource/b63748ba/ejbModule/META-INF/ejb-jar.xml#ejb-jar_ID"/><null/><collection><string value="TopDownDB"/><null/><int value="18"/><hashtable></hashtable><hashtable></hashtable><boolean value="false"/><boolean value="false"/></collection><null/><int value="-1"/></command-parameter></command-creation-record></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